byte_size
handle_info()
में समान 12 लंबाई पैटर्न की जांच करने के लिए कैसे मिलान करें और वाक्यविन्यास क्या है? क्या मैं handle_info()
में दोनों पैटर्न का उपयोग कर सकता हूं, उदाहरण के लिए। सबसे पहले नई लाइन के लिए स्ट्रिंग की जांच करेगा, दूसरा byte_size
के साथ? byte_size
पैटर्न के बिनापैटर्न मिलान में byte_size के लिए वाक्यविन्यास क्या है?
उदाहरण कोड:
def init(_) do
{:ok, []}
end
def handle_info({:elixir_serial, serial, "\n"}, state) do
{:noreply, Enum.reverse(state)}
end
def handle_info({:elixir_serial, serial, data}, state) do
Logger.debug "data: #{data}"
{:noreply, [data | state]}
end
मैं कैसे से आने वाली तार concat कर सकते हैं: elixir_serial जब तक राज्य पहुंच 12 लंबाई वांछित? वर्तमान में यह मेल नहीं खाता है, पिछले हैंडल_इनो() में डेटा अलग-अलग लंबाई के साथ स्ट्रिंग होता है। मैंने << राज्य :: बाइट्स-आकार (12) >> के साथ प्रयास किया है, लेकिन आउटपुट भी गलत है। – luzny
मैं उस स्थान पर डेटा सहेज रहा हूं जहां यह मेरे कोड स्निपेट में Logger.debug है, क्या यह मिलान किए गए डेटा को संभालने के लिए सही जगह है? – luzny
हां यह सही जगह है। यदि डेटा आकार में परिवर्तनीय है, तो मैं लंबाई से मेल नहीं खाऊंगा। –