elixirでは、rem(x, 2) であまりを求められる。
https://elixir-lang.jp/getting-started/basic-operators.html
例えば、奇数のとき足して、偶数のとき何もしない場合、こんな感じにかけばよいと思える。
defp calc(sum, number) when rem(number, 2) == 1 do
sum + number
end
defp calc(sum, _line) , do: sum
しかし、xがマイナスのときremは-1を返すので、numberがマイナスのとき無視されてしまう。
よって、奇数の場合、こっちのほうがいいかも。
defp calc(sum, number) when rem(number, 2) != 0 do
sum + number
end
defp calc(sum, _line) , do: sum
偶数チェックはこれでよい。
defp calc(sum, number) when rem(number, 2) == 0 do
sum + number
end
defp calc(sum, _line) , do: sum