[ERLANG]: Why answer returns list in a list rather than list? -


मॉड्यूल को देखते हुए

  -module (p1)। निर्यात ([f2 / 2])। एफ 2 ([ए, ए | बी]) - & gt; {ए, बी}; एफ 2 ([ए, बी | _]) - & gt; {ए, बी}; एफ 2 ([ए]) - & gt; ए; F2 (_) - & gt; कोई मुकाबला नहीं।  

मुझे इनपुट मूल्य

  p1: f2 ([1,1, [1,1]] की कोशिश करने के लिए कहा गया था।  

मेरा जवाब यह होगा कि यह इनपुट मान पहले से F2 के फ़ंक्शन खंड से मेल खाता है, और जैसे हमें परिणाम देता है:

  {1, [1 , 1]}  

लेकिन दिए गए उत्तरपत्रक के अनुसार, इसका उत्तर है

  {1, [[1,1]]}  

उत्तर में एक सूची के बजाय मुझे सूची में एक सूची के अंदर क्यों मिलता है, इसके बारे में मुझे अपना सिर नहीं मिल सकता है इस के लिए एक स्पष्टीकरण की सराहना करते हैं, धन्यवाद

आप Erlang में सिर पूंछ कैसे काम करते हैं टेल हमेशा एक सूची है; एक तत्व सूची हो सकती है, एक खाली सूची हो सकती है, लेकिन हमेशा एक सूची होती है।

उदाहरण के लिए खोल में देखें:

  2 & gt; मज़ा = मज़ेदार ([एच | टी]) - & gt; {एच, टी} अंत # मज़ा & LT; erl_eval.6.90072148 & gt; 3 & gt; मज़ा ([एक])। {A, []} 4 & gt; मज़ा ([क, ख])। {A, [b]} 5> मज़ा ([एक, [क, ख]])। {A, [[a, b]]} 6 & gt; मज़ा ([क, ख, ग])। {A, [b, c]} 7 & gt; मज़ा ([क, ख, ग, घ])। {A, [b, c, d]}  

तो आपके मामले में जो लौट रहे हैं वह है जो दोबारा दोहराया जाता है 1 और बी जो सभी शेष तत्वों की सूची है हमारे मामले में केवल एक तत्व रहता है, इसलिए हम एक तत्व सूची वापस करते हैं। और यह तत्व दो तत्व सूची है, इसलिए सूची में [[1, 1]]


Comments