[解決済み] Elixirのリストやタプルにアイテムが存在するかどうかを確認するには?
2023-01-18 15:06:20
質問
これは一見簡単そうに見えますが、ドキュメントで見つけることができません。私は単純に返す必要があります
true
または
false
がリストまたはタプルに存在する場合。は
Enum.find/3
は本当にこれを行うための最良の方法なのでしょうか?
Enum.find(["foo", "bar"], &(&1 == "foo")) != nil
どのように解決するのですか?
ここと Elixir Slack の回答から、リストにアイテムが存在するかどうかを確認する方法は複数あります。 Gazler氏の回答によるものです。
Enum.member?(["foo", "bar"], "foo")
# true
または単に
"foo" in ["foo", "bar"]
# true
または
Enum.any?(["foo", "bar"], &(&1 == "foo")
# true
の代わりに項目を検索して返したい場合や
true
または
false
Enum.find(["foo", "bar"], &(&1 == "foo")
# "foo"
タプルをチェックしたい場合は、リストに変換する必要があります (credit @Gazler):
Tuple.to_list({"foo", "bar"})
# ["foo", "bar"]
しかし、@CaptChrisD がコメントで指摘したように、これはタプルの珍しい必要性です。なぜなら、通常パターンマッチのためにタプル内のアイテムの正確な位置を気にするからです。
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン