मुझे पता है कि वास्तव में क्या एक विधि नाम अमृत में है करना चाहते हैं:मॉड्यूल और विधि नाम दोनों निर्दिष्ट करके, Elixir में गतिशील रूप से एक विधि को कैसे कॉल करें?
array = [1,2,3]
module_name = :lists
method_name = :nth # this not working
module_name.method_name(1, array) # error, undef function lists.method_name/2
module_name.nth(1, array) # returns 1, module_name is OK. It's an atom
लेकिन मैं erlang में लगभग एक ही बात कर सकते हैं:
A = [1,2,3].
X = lists.
Y = nth.
X:Y(1,A). # returns 1
मैं कैसे अमृत में ऐसा कर सकते हैं?
अच्छा। तो विधि का नाम एक परमाणु है। अब मुझे लगता है कि यह सिर्फ वाक्यविन्यास है जो हमें elixir में 'module.method' लिखने की अनुमति नहीं देता है, है ना? – halfelf
मेरा मानना है कि आप सही हैं। मुझे लगता है कि इस काम को करने का एकमात्र तरीका मॉड्यूल फ़ंक्शंस को कॉल करते समय परमाणुओं का उपयोग करने के लिए वाक्यविन्यास को बदलना होगा (यानी 'सूचियां: nth')। मैं बस इस तरह के मामलों में आवेदन का उपयोग करना चाहूंगा। – lastcanal
धन्यवाद। यह जवाब बहुत उपयोगी है। – halfelf