में आउटपुट रीडायरेक्ट करें क्या io:format()
द्वारा एरलांग शैल से मुद्रित डेटा को रीडायरेक्ट करने का कोई तरीका है? मुझे पता है कि मैं एक फ़ाइल (IoDevice) खोल सकता हूं और सीधे डेटा लिख सकता हूं, लेकिन इसमें कोड परिवर्तन की आवश्यकता है और मैं अब नहीं करना चाहता हूं।एरलांग खोल से फ़ाइल को
उत्तर
बस इसे erl -noinput -s module function -s init stop > file
के साथ चलाएं।
यहां एक उदाहरण है।
Erlang कोड:
-module(test).
-compile(export_all).
function() ->
io:fwrite("Hello world!~n").
खोल में:
$ erlc test.erl
$ erl -noinput -s test function -s init stop > test.txt
$ cat test.txt
Hello world!
तुम भी कब तक IODevice तर्क का उपयोग कर सकते हैं:/3 fwrite और जाने यह परमाणु मूल्य standard_io ही आपके लिए है यह कुछ फाइल को निर्देशित नहीं करना चाहता। अन्यथा इसे फ़ाइल दें।
io module के दस्तावेज़ के "मानक इनपुट/आउटपुट" खंड को देखें।
जब कोई प्रक्रिया io:format()
और इसी तरह के कार्यों को कॉल करती है, तो प्रक्रिया आईओ अनुरोध संदेश को group_leader प्रक्रिया में भेजती है। इसलिए एक साधारण हैक फ़ाइल खोलना है, और इसे आउटपुट बनाने वाली प्रक्रियाओं के समूह_लेडर के रूप में सेट करना है। शेल प्रक्रिया के आउटपुट को फ़ाइल में रीडायरेक्ट करने का एक उदाहरण यहां दिया गया है।
1> {ok, F} = file:open("z", [write]).
{ok,<0.36.0>}
2> group_leader(F, self()).
3> io:format("Where am I going to appear?~n").
4>
यह केवल वर्तमान खोल प्रक्रिया रीडायरेक्ट करेगा, ताकि आप सभी प्रक्रियाओं जो आप फ़ाइल को अनुप्रेषित चाहते हैं के लिए group_leader सेट करना होगा।
समाधान एक सर्वर प्रक्रिया है जो घुमाया फ़ाइलों को कब अनुरोध संदेशों प्रॉक्सी को उत्पन्न करने से, निश्चित रूप से परिष्कृत किया जा सकता उदाहरण के लिए, आदि
आप के साथ एक को बदलने पार्स अपने कोड पुन: संयोजित कर सकते हैं, बदल देती कॉल की तरह
io:format("~p~n", "Hello world!")
तरह
io:format(whereis(my_output_file), "~p~n", "Hello world!")
कॉल में
इसके अलावा आप अपने स्टार्ट-अप कोड में इस जोड़ने की जरूरत है, और आप कर चुके हैं:
{ok, F} = file:open("file", [write]),
register(my_output_file, F),
- 1. ब्राउज़र से एरलांग खोल?
- 2. एरलांग खोल
- 3. एरलांग खोल समस्या
- 4. एरलांग फ़ाइल संलग्न मोड
- 5. खोल में एक बाइनरी फ़ाइल (खोल, awk)
- 6. एरलांग एचआरएल फ़ाइल क्या है?
- 7. एरलांग खोल में यूटीएफ -8 कैसे आउटपुट करें?
- 8. एरलांग से क्लोजर
- 9. एरलांग
- 10. एरलांग
- 11. जावा से एरलांग संदेश
- 12. फ़ाइल खोल स्क्रिप्ट का एन्कोडिंग
- 13. डबल रिक्ति फ़ाइल खोल स्क्रिप्ट
- 14. एरलांग: एक दूरस्थ नोड प्रोग्रामेटिक रूप से
- 15. एरलांग
- 16. लिनक्स खोल फ़ाइल का आकार
- 17. एरलांग
- 18. एरलांग
- 19. एरलांग
- 20. एरलांग
- 21. एरलांग
- 22. एरलांग
- 23. एरलांग
- 24. एरलांग
- 25. एरलांग वाक्यविन्यास - एरलांग
- 26. एरलांग
- 27. एरलांग
- 28. एरलांग
- 29. एरलांग
- 30. एरलांग
अच्छा हैक! काफी मददगार हो सकता है – gleber