2015年6月8日月曜日

[Elixir] 比較対象値とリスト内要素を比較し、少なくとも1つ一致するものがあれば、trueを返す。

Oracleのin比較演算子と同じことができないものかと調べたら、あった。
リスト内の各要素に対し、比較したい値と比較し、同じものがあれば、trueを返す。
なければ、falseを返す。

以下に例を示す。
iex(1)> n = 1
1
iex(2)> Enum.any?([1, 5, 6, 7, 8, 9, 15, 16, 19], fn(x) -> x == n end )
true
iex(3)> n = 2
2
iex(4)> Enum.any?([1, 5, 6, 7, 8, 9, 15, 16, 19], fn(x) -> x == n end )
false
2015/06/24 追記
こちらが普通かもしれない。
iex(1)> Enum.member?([1,2,3,4],3)
true
iex(2)> Enum.member?([1,2,3,4],5)
false

2015/07/08 追記
いや、これではないか。
iex(7)> 1 in [1,2,3]
true