iex(9)>
add = fn x ->
case x do
{x,y,f} -> f.(x,y)
{x,y} -> x + y
_ -> raise("bad match")
end
end
#Function<6.54118792/1 in :erl_eval.expr/5>
iex(10)> add.({1,1})
2
iex(11)> add.({1,1,fn x,y -> x + y end})
2
iex(9)>
add = fn x ->
case x do
{x,y,f} -> f.(x,y)
{x,y} -> x + y
_ -> raise("bad match")
end
end
#Function<6.54118792/1 in :erl_eval.expr/5>
iex(10)> add.({1,1})
2
iex(11)> add.({1,1,fn x,y -> x + y end})
2