ここまでのあらまし
Elixir Zen Styleという記法に基づいて学習を進めています。
ひとつ関数をモジュール化、PJにして実行するまでをドキュメントにまとめてみようと思います。
本題
適当なディレクトリで
mix new example
します。
式はこちら
lib/example.ex
defmodule E do
def example(list) do
list
|> Enum.map( &IO.puts(&1) )
end
end
listという引数を持ったexampleという関数で、Enum.mapを用いてそれぞれの要素をIO.putsで出力する。
今回のポイントは、Enum.mapに任意の関数を書くことで呼び出すことができる、という点でした。
また、要素ひとつひとつに対して呼び出した関数を適用する際に、Enum.mapを使う。ここもポイントです。
cd example
iex -S mix
これで
iex > E.example([1,2,3])
1
2
3
[:ok, :ok, :ok]
アトムや文字列に関しても
iex > E.example([111, :atom, "hello"])
111
atom
hello
[:ok, :ok, :ok]
無事出力してくれます。
編集後記
サラっと書いてしまいましたが、やや雲を掴むようだったElixir学習について、少しずつ光が射し始めてるような気がしています!
北九州へ来て2ヶ月。
うまずたゆまず、頑張ります。
Kento Mizuno