डिफॉल्ट आर्गुमेंट के बारे में
फंक्शन एक या अधिक आर्गुमेंट के लिए डिफॉल्ट वैल्यू घोषित कर सकते हैं।
def number(n \\ 13), do: "That's not my favorite"
- ऊपर दिया गया उदाहरण कंपाइल करने पर Elixir
number/0 (बिना आर्गुमेंट) और number/1 (एक आर्गुमेंट) के लिए फंक्शन की परिभाषा बनाता है।
- अगर एक से अधिक आर्गुमेंट की डिफॉल्ट वैल्यू हों, तो छूट चुके आर्गुमेंट भरने के लिए डिफॉल्ट वैल्यू बाएँ से दाएँ लागू की जाती हैं।
- अगर किसी फंक्शन में एक से अधिक क्लॉज़ हों, तो डिफॉल्ट आर्गुमेंट के लिए फंक्शन हेडर लिखना ज़रूरी होता है।
- कोई भी एक्सप्रेशन डिफॉल्ट वैल्यू के रूप में काम कर सकता है।
- अनाम फंक्शन में डिफॉल्ट आर्गुमेंट नहीं हो सकते।
def guess(number \\ 5)
def guess(number) when number != 5, do: false
def guess(number) when number == 5, do: true
guess()
# => true