Hi guys, i’m new in the Elixir world, and i have to say, that i love it!
i’m having some problem to understand anonymous functions with multiple body.
Basically if i have a function like this
handle_result = fn
{:ok, result} → IO.puts “handling the result…”
{:error} → IO.puts “an error is occurred”
end
and then
some_result = 1
handle_result.({:ok, some_result})
“handling the result…”
to me is ok, i pass a tuple and if match i return the string.
The point is that to me is like i’m using a switch statement, or a sort of case statement, and if the value that i pass match a case, i print the string, so what’s the difference to use a function like this or
use a switch in other languages? and another thing is, how can i use multiple bodies to compare if two values are equal or not equal with operators like && == || using multiple bodies? cause everytime i try it cause me errors.
last thing that i don’t get is, the argument of the function is implicit? because usually if i do
fn a,b →
a == b
end
is clear, i pass two values and then i compare a to b, but i don’t get it this thing of multiple bodies with the tuples and pattern matching.
sorry guys, but i’m a lot confuse.
thanks.