पर फ़ाइल के बजाय स्ट्रिंग/बफर को लिखता है। मेरे पास in_channel -> out_channel -> unit
प्रकार का एक फ़ंक्शन है जो out_channel
पर कुछ आउटपुट करेगा। अब मैं एक स्ट्रिंग के रूप में अपना आउटपुट प्राप्त करना चाहता हूं। इसे लिखने और पढ़ने के लिए अस्थायी फ़ाइलों को बनाना बदसूरत लगता है, तो मैं यह कैसे कर सकता हूं? out_channel
को Pervasives.open_out
परिवार के अलावा बनाने के लिए कोई और तरीका है?ओकैमल में, मैं एक आउट_चैनल कैसे बना सकता हूं जो डिस्क
दरअसल, इस फ़ंक्शन ने एक प्रतिलिपि लागू की। मुझे वास्तव में इसकी ज़रूरत है कि इसे प्रोग्रामेटिक रूप से जांचें, इसलिए मैं इसे पहले string -> string
के फ़ंक्शन पर लपेटना चाहता हूं। in_channel
बनाने के लिए, ऐसा लगता है कि मैं Scanf.Scanning.from_string
का उपयोग कर सकता हूं, लेकिन मुझे नहीं पता कि out_channel
पैरामीटर कैसे बनाएं। http://ocaml-batteries-team.github.com/batteries-included/hdoc/BatIO.html
यह उनकी इनपुट/आउटपुट प्रकार का उपयोग करने को कह सकता:
मुझे नहीं लगता कि ऐसा करने का कोई तरीका है। यह मुश्किल होगा, क्योंकि तारों की ओकैमल में निश्चित लंबाई होती है। वे पात्रों को स्टोर करने के लिए एक विस्तारणीय जगह के रूप में वास्तव में उपयुक्त नहीं हैं। आप Printf.sprintf का उपयोग उसी सामग्री के साथ स्ट्रिंग बनाने के लिए कर सकते हैं जो Printf.fprintf आउटपुट चैनल को लिखता है। लेकिन इसके अलावा, आपको अपना खुद का तंत्र बनाना पड़ सकता है। फ्यूचर पाठकों के लिए –