condマクロ 一連の条件とそれに対応するコードを並べられる 最初に真となる条件に対応するコードが実行される
直近の結果をリストのヘッドに追加 最後にリストを逆順にするパターン
> c "control/fizzbuzz.ex"
[FizzBuzz]
> FizzBuzz.upto(20)
[1, 2, "Fizz", 4, "Buzz", "Fizz", 7, 8, "Fizz", "Buzz", 11, "Fizz", 13, 14,
"FizzBuzz", 16, 17, "Fizz", 19, "Buzz"]リストをreverseしないパターン
"control/fizzbuzz1.ex"
[FizzBuzz]
> FizzBuzz.upto(20)
[1, 2, "Fizz", 4, "Buzz", "Fizz", 7, 8, "Fizz", "Buzz", 11, "Fizz", 13, 14,
"FizzBuzz", 16, 17, "Fizz", 19, "Buzz"]1からnまでの数字を対応する文字列に変換する
> c "control/fizzbuzz2.ex"
[FizzBuzz]
> FizzBuzz.upto(20)
[1, 2, "Fizz", 4, "Buzz", "Fizz", 7, 8, "Fizz", "Buzz", 11, "Fizz", 13, 14,
"FizzBuzz", 16, 17, "Fizz", 19, "Buzz"]関数呼び出しの中でパターンマッチを利用する
> c "control/fizzbuzz3.ex"
[FizzBuzz]
> FizzBuzz.upto(20)
[1, 2, "Fizz", 4, "Buzz", "Fizz", 7, 8, "Fizz", "Buzz", 11, "Fizz", 13, 14,
"FizzBuzz", 16, 17, "Fizz", 19, "Buzz"]