دربارهی آرگومان پیشفرض
تابعها میتوانند برای یک یا چند آرگومان، «مقادیر پیشفرض» تعریف کنند.
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