给定Elixir函数add1 = fn a – >一端,我知道可以用简写符号表示为add1 =&(& 1 1)
有没有办法使用多体功能的速记符号?例如,以下函数返回两个数字中的较大者.
max = fn
a, b when a > b -> a
_a, b -> b
end
是否可以使用Elixir的简写表示法来表达这个匿名函数?
最佳答案
max = &
case &1 > &2 do
true -> &1
false -> &2
end
我不认为这是一种速记形式.
通用解决方案将把所有参数放在一个案例中:
max = &
case {&1, &2} do
{a, b} when a > b -> a
{a, b} -> b
end
但这只会让它更长.