Erlang 21

io_lib




erlang

io_lib

मॉड्यूल

io_lib

मॉड्यूल सारांश

I / O लाइब्रेरी फ़ंक्शंस।

विवरण

इस मॉड्यूल में तार (वर्णों की सूची) से परिवर्तित करने के लिए कार्य शामिल हैं। इनका उपयोग io मॉड्यूल में कार्यों को लागू करने के लिए किया जाता है। इस बात की कोई गारंटी नहीं है कि कुछ कार्यों से लौटी चरित्र सूचियाँ सपाट हैं, वे गहरी सूचियाँ हो सकती हैं। कार्य lists:flatten/1 गहरी सूची को lists:flatten/1 का उपयोग किया जा सकता है।

जानकारी का प्रकार

chars() = [char() | chars() ]
continuation()

एक निरंतरता जैसा कि fread/3 द्वारा लौटाया गया।

chars_limit() = integer()
depth() = -1 | integer() >= 0
fread_error() =
atom |
based |
character |
float |
format |
input |
integer |
string |
unsigned

fread_item() = string() | atom() | integer() | float()
latin1_string() = [ unicode:latin1_char() ]
format_spec() =
#{control_char := char(),
args := [any()],
width := none | integer(),
adjust := left | right,
precision := none | integer(),
pad_char := char(),
encoding := unicode | latin1,
strings := boolean()}

कहा पे:

  • control_char नियंत्रण अनुक्रम का प्रकार है: $P , $w , और इसी तरह।

  • args नियंत्रण अनुक्रम द्वारा उपयोग किए गए तर्कों की एक सूची है, या यदि नियंत्रण अनुक्रम कोई तर्क नहीं लेता है तो एक खाली सूची।

  • width क्षेत्र की चौड़ाई है।

  • समायोजन ही समायोजन है।

  • precision मुद्रित तर्क की सटीकता है।

  • pad_char पैडिंग कैरेक्टर है।

  • encoding सही पर सेट true अगर अनुवाद संशोधक t मौजूद है।

  • यदि strings l मौजूद है तो strings को false सेट किया गया है।

निर्यात

build_text (FormatList) -> चार्ट chars()

प्रकार

विवरण के लिए, scan_format/2 देखें।

char_list (शब्द) -> बूलियन ()

प्रकार

यदि Term यूनिकोड श्रेणी में वर्णों की एक फ्लैट सूची है, तो true , अन्यथा false

deep_char_list (शब्द) -> बूलियन ()

प्रकार

यह true अगर Term एक है, संभवतः गहरी, यूनिकोड रेंज में पात्रों की सूची, अन्यथा false

deep_latin1_char_list (शब्द) -> बूलियन ()

प्रकार

यह true अगर Term एक है, संभवतः गहरी, आईएसओ लैटिन -1 रेंज में पात्रों की सूची, अन्यथा false

प्रारूप (प्रारूप, डेटा) -> chars()
fwrite (प्रारूप, डेटा) -> chars()

प्रकार

एक वर्ण सूची देता है जो प्रारूप के अनुसार Data स्वरूपित का प्रतिनिधित्व करता है। उपलब्ध स्वरूपण विकल्पों के विस्तृत विवरण के लिए, io:fwrite/1,2,3 । यदि प्रारूप स्ट्रिंग या तर्क सूची में कोई त्रुटि है, तो एक त्रुटि उत्पन्न होती है।

यदि और केवल यदि यूनिकोड अनुवाद संशोधक का उपयोग प्रारूप स्ट्रिंग (अर्थात, ~ts या ~tc ) में किया जाता है, तो परिणामी सूची में ISO लैटिन -1 वर्ण श्रेणी (अर्थात, संख्या> 255) से परे वर्ण हो सकते हैं। यदि ऐसा है, तो परिणाम अभी भी एक साधारण एरलंग string() , और अच्छी तरह से किसी भी संदर्भ में उपयोग किया जा सकता है जहां यूनिकोड डेटा की अनुमति है।

प्रारूप (प्रारूप, डेटा, विकल्प) -> chars()
fwrite (प्रारूप, डेटा, विकल्प) -> chars()

प्रकार

एक वर्ण सूची लौटाता है जो Data फॉरमेट fwrite/2 और format/2 के समान Format अनुसार स्वरूपित करता है, लेकिन एक अतिरिक्त तर्क, विकल्पों की एक सूची लेता है।

वैध विकल्प:

{chars_limit, CharsLimit}

लौट आए वर्णों की संख्या पर एक नरम सीमा। जब वर्णों की संख्या पहुँच जाती है, तो शेष संरचनाओं को " ... " से बदल दिया जाता है। CharsLimit -1 में डिफॉल्ट होता है, जिसका अर्थ है कि लौटे वर्णों की कोई सीमा नहीं है।

fread (प्रारूप, स्ट्रिंग) -> परिणाम

प्रकार

Format में नियंत्रण अनुक्रमों के अनुसार String पढ़ने की कोशिश करता है। उपलब्ध स्वरूपण विकल्पों के विस्तृत विवरण के लिए, io:fread/3 । यह माना जाता है कि String में पूरी लाइनें शामिल हैं।

फ़ंक्शन देता है:

{ok, InputList, LeftOverChars}

स्ट्रिंग पढ़ा गया था। InputList सफलतापूर्वक मिलान और पढ़ी गई वस्तुओं की सूची है, और LeftOverChars ऐसे इनपुट वर्ण हैं जिनका उपयोग नहीं किया गया है।

{more, RestFormat, Nchars, InputStack}

स्ट्रिंग पढ़ा गया था, लेकिन मूल प्रारूप स्ट्रिंग को पूरा करने के लिए अधिक इनपुट की आवश्यकता है। RestFormat शेष प्रारूप स्ट्रिंग है, Nchars स्कैन किए गए वर्णों की संख्या है, और InputStack उस बिंदु तक मेल खाते इनपुट की उलटी सूची है।

{error, What}

रीड ऑपरेशन विफल हुआ और त्रुटि के बारे में संकेत What देता है।

उदाहरण:

3> io_lib:fread("~f~f~f", "15.6 17.3e-6 24.5").
{ok,[15.6,1.73e-5,24.5],[]}
फ़्रेड (कंटिन्यूएशन, चार्स्पेक, फॉर्मेट) -> रिटर्न

प्रकार

यह री-एंट्रेंट स्वरूपित पाठक है। कार्यों के लिए पहली कॉल की निरंतरता [] होनी चाहिए। री-एंट्रेंट इनपुट स्कीम कैसे काम करती है, इसका पूरा विवरण देखने के लिए आर्मस्ट्रांग, विरडिंग, विलियम्स: urrent एरलैंग में समवर्ती प्रोग्रामिंग ’, अध्याय 13।

फ़ंक्शन देता है:

{done, Result, LeftOverChars}

इनपुट पूरा हो गया है। परिणाम निम्न में से एक है:

{ok, InputList}

स्ट्रिंग पढ़ा गया था। InputList सफलतापूर्वक मिलान की गई और पढ़ी गई वस्तुओं की सूची है, और LeftOverChars शेष वर्ण हैं।

eof

फ़ाइल का अंत सामने आया था। LeftOverChars ऐसे इनपुट वर्ण हैं जिनका उपयोग नहीं किया गया है।

{error, What}

एक त्रुटि हुई और पैरामीटर जो त्रुटि के बारे में संकेत देता है।

{more, Continuation}

टर्म बनाने के लिए अधिक डेटा की आवश्यकता होती है। अधिक डेटा उपलब्ध होने पर fread/3 को Continuation जाना चाहिए।

इंडेंटेशन (स्ट्रिंग, शुरुआती) -> पूर्णांक ()

प्रकार

String मुद्रित किया गया है, तो StartIndent पर StartIndent

लैटिन 1_चार_सूची (शब्द) -> बूलियन ()

प्रकार

यह true कि अगर Term ISO लैटिन -1 श्रेणी में वर्णों की एक फ्लैट सूची है, अन्यथा false

nl () -> स्ट्रिंग ()

एक वर्ण सूची देता है जो एक नई पंक्ति वर्ण का प्रतिनिधित्व करता है।

प्रिंट (शब्द) -> chars()

प्रकार

वर्णों की एक सूची देता है जो Term प्रतिनिधित्व करता है, लेकिन कई लाइनों में एक पंक्ति से अधिक समय तक प्रतिनिधित्व को तोड़ता है और प्रत्येक पंक्ति को समझदारी से इंगित करता है। तार के रूप में मुद्रण योग्य वर्णों की सूची का पता लगाने और आउटपुट करने का भी प्रयास करता है।

  • Column प्रारंभिक स्तंभ है; 1 के लिए चूक।
  • LineLength अधिकतम लाइन लंबाई है; चूक 80 तक।
  • Depth अधिकतम प्रिंट गहराई है; -1 में डिफॉल्ट, जिसका अर्थ है कोई सीमा नहीं।
Printable_latin1_list (शब्द) -> बूलियन ()

प्रकार

यह true कि अगर Term मुद्रण योग्य आईएसओ लैटिन -1 वर्णों की एक फ्लैट सूची है, अन्यथा false

प्रिंट करने योग्य_सूची (शब्द) -> बूलियन ()

प्रकार

true अगर Term प्रिंट करने योग्य पात्रों की एक फ्लैट सूची है, अन्यथा false

इस मामले में एक मुद्रण योग्य चरित्र क्या है यह स्टार्टअप फ्लैग +pc द्वारा एर्लैंग वीएम द्वारा निर्धारित किया गया है; io:printable_range/0 देखें io:printable_range/0 और erl(1)

Printable_unicode_list (शब्द) -> बूलियन ()

प्रकार

अगर Term प्रिंट करने योग्य यूनिकोड के पात्रों की एक फ्लैट सूची है, तो true है, अन्यथा false

scan_format (स्वरूप, डेटा) -> स्वरूपवादी

प्रकार

निर्दिष्ट प्रारूप स्ट्रिंग के अनुरूप एक सूची लौटाता है, जहां नियंत्रण अनुक्रमों को संबंधित tuples के साथ बदल दिया गया है। इस सूची को पास किया जा सकता है:

  • build_text/1 का format(Format, Args) के समान प्रभाव है

  • unscan_format/1 Format और Args की संगत जोड़ी पाने के लिए (प्रत्येक * और इसी तर्क को संख्यात्मक मानों तक विस्तारित किया गया)

इस फ़ंक्शन का एक विशिष्ट उपयोग अनबाउंड-आकार नियंत्रण अनुक्रमों को बदलने के लिए है ~w और ~p गहराई-सीमित वेरिएंट के साथ ~W और ~P में पाठ स्वरूपण करने से पहले, एक लकड़हारा।

unscan_format (FormatList) -> {प्रारूप, डेटा}

प्रकार

विवरण के लिए, scan_format/2 देखें।

लिखना (शब्द) -> chars()
लिखना (शब्द, गहराई) -> chars()
लिखना (शब्द, विकल्प) -> chars()

प्रकार

एक वर्ण सूची लौटाता है जो Term प्रतिनिधित्व करता है। विकल्प Depth लिखी गई संरचनाओं की गहराई को नियंत्रित करता है। जब निर्दिष्ट गहराई तक पहुँच जाता है, तो इस स्तर के नीचे की सभी चीज़ों को " ... " से बदल दिया जाता है। Depth को -1 तक सीमित करता है, जिसका अर्थ है कोई सीमा नहीं। विकल्प CharsLimit गए वर्णों की संख्या पर एक नरम सीमा है। जब वर्णों की संख्या पहुँच जाती है, तो शेष संरचनाओं को " ... " से बदल दिया जाता है। CharsLimit -1 में डिफॉल्ट होता है, जिसका अर्थ है कि लौटे वर्णों की कोई सीमा नहीं है।

उदाहरण:

1> lists:flatten(io_lib:write({1,[2],[3],[4,5],6,7,8,9})).
"{1,[2],[3],[4,5],6,7,8,9}"
2> lists:flatten(io_lib:write({1,[2],[3],[4,5],6,7,8,9}, 5)).
"{1,[2],[3],[...],...}"
3> lists:flatten(io_lib:write({[1,2,3],[4,5],6,7,8,9}, [{chars_limit,20}])).
"{[1,2|...],[4|...],...}"
write_atom (एटम) -> chars()

प्रकार

परमाणु Atom प्रिंट करने के लिए आवश्यक वर्णों की सूची लौटाता है।

राइट_टॉम_स_लटिन 1 (एटम) -> latin1_string()

प्रकार

परमाणु Atom प्रिंट करने के लिए आवश्यक वर्णों की सूची लौटाता है। गैर-लैटिन -1 वर्ण बच जाते हैं।

राइट_चार (चार) -> चार्ट ( chars()

प्रकार

यूनिकोड वर्ण सेट में एक वर्ण स्थिरांक को मुद्रित करने के लिए आवश्यक वर्णों की सूची लौटाता है।

राइट_चार_स_लटिन 1 (चार) -> latin1_string()

प्रकार

यूनिकोड वर्ण सेट में एक वर्ण स्थिरांक को मुद्रित करने के लिए आवश्यक वर्णों की सूची लौटाता है। गैर-लैटिन -1 वर्ण बच जाते हैं।

write_latin1_char (लातिन 1 कचर) -> latin1_string()

प्रकार

आईएसओ लैटिन -1 चरित्र सेट में एक चरित्र निरंतर मुद्रित करने के लिए आवश्यक वर्णों की सूची लौटाता है।

write_latin1_string (लैटिन 1 स्ट्रिंग) -> latin1_string()

प्रकार

एक स्ट्रिंग के रूप में Latin1String स्ट्रिंग को प्रिंट करने के लिए आवश्यक वर्णों की सूची लौटाता है।

write_string (स्ट्रिंग) -> chars()

प्रकार

String रूप में स्ट्रिंग को प्रिंट करने के लिए आवश्यक वर्णों की सूची लौटाता है।

write_string_as_latin1 (स्ट्रिंग) -> latin1_string()

प्रकार

String रूप में स्ट्रिंग को प्रिंट करने के लिए आवश्यक वर्णों की सूची लौटाता है। गैर-लैटिन -1 वर्ण बच जाते हैं।