はじめに
- Elixirを使いはじめてだいたい1年くらいがたちました
- すごいHaskellたのしく学ぼう!という本を2015年に買って、一通り読んだあとずっと本棚にしまわれていたままでした
- 久しぶりに引っ張り出して読んでみると、こんなに愉快な内容だったけ!? という感想を持ちました
- Elixirで関数プログラミングにだいぶ慣れたので、ユーモアの部分を楽しむ余裕ができたのだとおもいます
- 少しずつ読み進めながら、興味が向いたところだけElixirで書き換えてみたりして理解を深めていきたいとおもいます
init関数
ghci> init [5,4,3,2,1]
[5,4,3,2]
すごいHaskellたのしく学ぼう!から引用
init関数はリストを受け取り、最後の要素を除いた残りのリストを返します
-
Starting Out
- 原文サイト内の上記ページの中央ほどにある可愛らしい絵をみるとイメージしやすいです
Elixirで書いてみます
defmodule LearnYouAHaskellForGreatGood do
def init([_ | []]) do
[]
end
def init([head | tail]) do
[head] ++ init(tail)
end
end
iex> LearnYouAHaskellForGreatGood.init([5,4,3,2,1])
[5, 4, 3, 2]
- 本当にこれ自分で書かないと無いのだろうか? とおもってListを眺めてみました
- ありました!
iex> [5, 4, 3, 2, 1] |> List.delete_at(-1)
[5, 4, 3, 2]
こんな感じで、少しずつ すごいHaskellたのしく学ぼう! を学びなおしてみようとおもいます