Bu, Elixir'de çok yaygın bir modeldir. Son argüman bir liste olmalı (Anahtar kelime listesi özel olmalıdır) ve varsayılan olarak []
olmalıdır. Elixir'de, son argüman bir anahtar kelime listesi ise, listenin etrafına []
s eklemeniz gerekmez. Örneğin:
def do_lots(arg1, arg2, opts \\ []) do
one = opts[:one] || :default
two = opts[:two] # default to nil if it's not passed
# do something with arg1, arg2, one, and two
end
def my_func do
arg1
|> do_lots(2)
|> do_lots(49, one: :question)
|> do_lots(99, two: :agent)
|> do_lots(-1, one: 3, two: 4)
end
değişken büyüklükte argümanları işlemek üzere diğer seçenek bir liste halinde hepsini geçmektir. Bu, işlev 1'i yapar ve bunları gerektiği gibi işleyebilirsiniz.
Son olarak, bir ya da tüm yayınları harita olarak geçirebilirsiniz. Bu, haritadaki desen eşlemesine izin vermenin ve haritada geçirilen tuşlara göre birden fazla işlev cümlesi oluşturmanın avantajına sahiptir.
Siparişe bağımlı oldukları için, Anahtar Kelime listesinde eşleşmeyi kolayca yumuşatamayacağınızı unutmayın.