switch statement - Erlang: case..of construct for function call return? -
कोड द्वारा उत्पन्न त्रुटियां हैं
2 & gt; एक्स = "2" "2" 3 & gt; case_: मुख्य (एक्स)। मुख्य 50 प्रेषक 50 ** अपवाद त्रुटि: फंक्शन के मामले में खराब तर्क: case_: प्रेषक / 1 (case_.erl, पंक्ति 14) call_: main / 1 (case_.erl, line 6) से कॉल में 4 & gt; Z = 2. 2 5 & gt; case_: मुख्य (जेड)। ** अपवाद त्रुटि: फ़ंक्शन IO में खराब तर्क: प्रारूप / 3 को IO कहा जाता है: format (& lt; 0.25.0 & gt ;, "मुख्य ~ पी ~ एन", 2) से case_: main / 1 (case_.erl, लाइन 5) 6 & gt; पहली कोशिश पर मैंने एक स्ट्रिंग पास करने की कोशिश की जो एक पूर्णांक को पार करने की दूसरी कोशिश की तुलना में इसे बहुत आगे कर दिया। मुझे यकीन नहीं है कि यह काम क्यों नहीं करता है
फ़ंक्शन कॉल प्रेषक (इनपुट) को {डेटा} से रिसीवर () फ़ंक्शन कॉल वापस कर देना चाहिए। मुझे निश्चित रूप से कार्यक्रम के संदेश का हिस्सा होने की आवश्यकता है क्योंकि मैं एक लूप लिखने की कोशिश कर रहा हूं जो संदेश लेता है, उनका मूल्यांकन करता है और परिणाम देता है; लेकिन हो सकता है कि मामला ... का कथन बाहर फेंका जा सकता है <पूर्व> -मॉड्यूल (केस_) -आयात ([मुख्य / 1, प्रेषक / 1, रिसीवर / 0]) मुख्य (इनपुट) - & gt; Io: प्रारूप ("मुख्य ~ पी ~ एन", इनपुट), केस प्रेषक (इनपुट) {डेटा} - & gt; Io: प्रारूप ("प्राप्त ~ पी ~ एन", डाटा) अंत प्रेषक (इनपुट) - & gt; Io: प्रारूप ("प्रेषक ~ पी ~ एन", इनपुट), रेफरी = एमएआरएफ़ (),? MODULE! {सेल्फ (), रेफरी, {send_data, Input}}, प्राप्त करें (रेफरी, ओके, डेटा) - & gt; {डेटा} अंत रिसीवर () - & gt; Io: प्रारूप ("रिसीवर ~ एन"), {Pid, Ref, {send_data, Input}} - & gt; प्राप्त करें। पिड! {संदर्भ, ठीक है, इनपुट + इनपुट} अंत।
खुशी से, badarg तय आसानी से किया जाता है। इसकी दूसरी तर्क के रूप में शब्दों की एक सूची लेता है देखें:
(एर्लिंग R15B02 (एर्ट्स -5.9.2) [स्रोत] [64-बिट] [एसपीपी: 8: 8] [एएसआईएनसी-थ्रेड्स: 0] [हाइप] [कर्नेल- मतदान: झूठे] एशेल V5.9.2 (^ जी के साथ समापन) 1 & gt; io: प्रारूप ("मुख्य ~ पी ~ एन", 2)। ** अपवाद त्रुटि: फ़ंक्शन IO में खराब तर्क: प्रारूप / 3 को IO कहा जाता है: प्रारूप (& Lt; 0.24.0 & gt ;, "मुख्य ~ पी ~ एन", 2) 2 & gt; io: प्रारूप ("मुख्य ~ पी ~ एन", [2])। मुख्य 2 ठीक आपकी दूसरी समस्या यह है कि ? मॉड्यूल बस वर्तमान मॉड्यूल के नाम पर एक परमाणु देता है। आप अपना संदेश किसी प्रक्रिया में भेजना चाहते हैं। यदि आप अपना कोड संशोधित करने के लिए संशोधित करते हैं: फिर repl में संपर्क:
एरलांग R15B02 (एर्ट्स -5.9.2) [स्रोत] [64-बिट] [एसपीपी: 8: 8] [async-threads: 0] [हिइप] [कर्नेल-मतदान: झूठी] एशेल V5.9.2 (^ जी के साथ समापन) 1 & gt; सी ( "case_")। {ठीक है, केस_} 2 & gt; case_: मुख्य (2)। मुख्य 2 प्रेषक 2 रिसीवर प्राप्त 4 ओके
Comments
Post a Comment