खोज…


परिचय

योजना में इनपुट और आउटपुट आमतौर पर गर्त बंदरगाहों को नियंत्रित किया जाता है। एक पोर्ट एक डेटा संरचना है जिसका उपयोग योजना के बाहर की दुनिया के साथ बातचीत करने के लिए किया जाता है। एक पोर्ट फाइलों तक सीमित नहीं है, लेकिन इसे सॉकेट्स में पढ़ने / लिखने के लिए इस्तेमाल किया जा सकता है। कुछ मायनों में, पोर्ट ऑब्जेक्ट कुछ प्रकार की सार्वभौमिक वस्तु है जो न केवल फ़ाइल और सॉकेट में हेरफेर कर सकती है, बल्कि ओएस के साथ किसी भी तरह का रीड / राइट ऑपरेशन भी कर सकती है। उदाहरण के लिए, कोई पोर्ट को लागू कर सकता है जो प्रिंटर पर लिख सकता है या पोर्ट का उपयोग करके स्कीम से सीएनसी मशीन को नियंत्रित कर सकता है।

एक इनपुट पोर्ट बनाएं

एक इनपुट पोर्ट कई तरीकों से बनाया जा सकता है, लेकिन आमतौर पर यह विधि open-input- साथ शुरू होती open-input-

स्ट्रिंग पोर्ट

आप open-input-string का उपयोग करके एक पोर्ट के रूप में एक स्ट्रिंग का उपयोग कर सकते हैं। यह एक पोर्ट बनाएगा जो स्ट्रिंग से पढ़ने में सक्षम होगा।

(define p
  (open-input-string "(a . (b . (c . ()))) 34"))

फ़ाइल पोर्ट

आप open-input-file साथ पढ़ने के लिए एक फ़ाइल खोल सकते हैं।

(define p
  (open-input-file "path/to/file"))

एक इनपुट पोर्ट से पढ़ें

इनपुट पोर्ट से पढ़ना कई तरीकों से किया जा सकता है। हम REPL द्वारा उपयोग की जाने वाली read विधि का उपयोग कर सकते हैं। यह अंतरिक्ष के अलग-अलग भावों को पढ़ेगा और उनकी व्याख्या करेगा।

ऊपर के स्ट्रिंग पोर्ट से उदाहरण लेते हुए। हम बंदरगाह से इस तरह पढ़ सकते हैं:

(define p
  (open-input-string "(a . (b . (c . ()))) 34"))
(read p) -> (a b c)
(read p) -> 34

हम के रूप में एक बंदरगाह से पढ़ सकते हैं char विशेष विधि का उपयोग कर read-char । हम जिस पोर्ट से पढ़ रहे हैं, उसमें से एक ही चार्ट लौटाएगा।

(define p (open-input-string "hello"))
(read-char p) -> #\h


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow