3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

口で言うより行うことがErlang習得への近道と信じています。

lists:member/2

lists:member/2は、リストに指定した値の要素が含まれている場合はtrueを、そうでない場合はfalseを返します。判定には厳密な比較が実施されます。例として11.0は厳密には型が異なります。

> lists:member(2, [1, 2, 3, 4]).
true

> lists:member(2.0, [1, 2, 3, 4]).
false

> lists:member({b, 2}, [{a, 1}, {b, 2}, {c, 3}]).
true

タプルのリストに対して検索する場合は、それ専用のlists:keymember/3があります。

lists:keymember/3

keymember(term, integer, [tuple]) -> boolean
keymember(検索ワード, タプルの要素の位置, タプルのリスト) -> boolean

lists:keymember/3は、指定された位置の要素が検索ワードと等しいタプルを探します。見つかった場合はtrueを、そうでない場合はfalseを返します。判定には厳密な比較が実施されます。例として11.0は厳密には型が異なります。

% タプルの最初の要素が「b」であるリスト要素は存在するか
> lists:keymember(b, 1, [{a, 10}, {b, 20}, {c, 30}]).
true

% タプルの二つ目の要素が「30」であるリスト要素は存在するか
> lists:keymember(30, 2, [{a, 10}, {b, 20}, {c, 30}]).
true

% タプルの二つ目の要素が「foo」であるリスト要素は存在するか
> lists:keymember(foo, 2, [{a, 10}, {b, 20}, {c, 30}]).
false

listsモジュールには他にもリスト処理のための関数がたくさんあります。

Elixirにも挑戦したい

闘魂ElixirシリーズとElixir Schoolがオススメです。

3
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?