開発環境
- OS X El Capitan - Apple (OS)
- Emacs (Text Editor)
- Elixir (プログラミング言語)
Seven More Languages in Seven Weeks (Bruce Tate (著)、Ian Dees (著)、Frederic Daoud (著)、Jack Moffitt (著)、Pragmatic Bookshelf)のChapter 3(Elixir)、Day 1(Laying a Great Foundation)、Do (Medium)(No. 4229).を取り組んでみる。
Do (Medium)(No. 4229)
コード(Emacs)
#!/usr/bin/env elixir
defmodule MyList do
def size([]), do: 0
def size([_|tail]), do: 1 + size(tail)
def max([head|[]]), do: head
def max([head|[head0|tail]]) do
if head > head0 do
max([head|tail])
else
max([head0|tail])
end
end
def min([head|[]]), do: head
def min([head|[head0|tail]]) do
if head < head0 do
min([head|tail])
else
min([head0|tail])
end
end
end
list = [5, 1, 4, 2, 3]
IO.puts "list: #{inspect list}"
IO.puts "size: #{MyList.size(list)}"
IO.puts "max: #{MyList.max(list)}"
IO.puts "min: #{MyList.min(list)}"
入出力結果(Emacs, Terminal, elm repl)
$ ./medium.exs list: [5, 1, 4, 2, 3] size: 5 max: 5 min: 1 $
0 コメント:
コメントを投稿