Elixirで頻出する Enum.each/2
だが、書き方色々あって全然見れなかったのでメモ。
基本形
Enum.each(["one", "two", "three"], fn(x) -> IO.inspect(x) end) # 出力 # "one" # "two" # "three"
省略記法を使う
Elixirでは無名関数を&を使って省略記法で書ける。
これを使うと、 fn() -> end
を &()
、もっというと fn(x) -> fn2(x) end
を &fn2/1
と省略できるので、
Enum.each(["one", "two", "three"], &IO.inspect/1)
と書くことができる。
パイプライン演算子を使う
さらにパイプライン演算子を使うと
["one", "two", "three"] |> Enum.each(&IO.inspect/1)
と書くこともできる。
慣れるまで大変だけど数こなすしかないね。。。