Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
2
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

@kmizuno0211

Elixir~Enum.reduceの威力~

こんな式を覚えた

iex> 1..100 |> Enum.map(& &1 * 2) |> Enum.filter(& &1 <= 100) |> Enum.reduce(0, fn x, acc -> x + acc end)
2550

式の解説

1..100は簡潔にいって1から100の整数の羅列の省略形です。
これにパイプライン演算子とEnum.mapを挟んですべてに2をかけている。
そしてEnum.filterで100以下の数値だけをフィルターにかけて拾ってくる。
そして、Enum.reduceで各要素の総和を求める。2550。

まとめると、

1から100までのすべての偶数の総和

という式になります。

編集後記

ただの式の解説なのですが、備忘録というか、ついに自分の手でElixirを書き始めたという大いなる実感があります。
自分自身横浜を離れて直近で福岡に飛び込む予定なので、勢いを大事にしたいと思って気づきを多少粗雑なまま記事にしました。
うまずたゆまず、頑張ります。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
2
Help us understand the problem. What are the problem?