Sulla base delle risposte qui e in Elixir Slack, ci sono diversi modi per verificare se un elemento esiste in un elenco. Per risposta da @Gazler:
Enum.member?(["foo", "bar"], "foo")
# true
o semplicemente
"foo" in ["foo", "bar"]
# true
o
Enum.any?(["foo", "bar"], &(&1 == "foo")
# true
o se si desidera trovare e restituire l'articolo invece di true
o false
Enum.find(["foo", "bar"], &(&1 == "foo")
# "foo"
Se si desidera controllare una tupla, è necessario convertire alla lista (@Gazler credito):
Tuple.to_list({"foo", "bar"})
# ["foo", "bar"]
Ma, come @CaptChrisD sottolineato nei commenti, si tratta di una necessità raro per una tupla perché uno di solito si preoccupa della posizione esatta dell'articolo in una tupla per la corrispondenza del modello.
Per un elenco ho potuto vedere dove si vuole vedere solo se l'articolo è là in cui Enum.member/2 sarebbe? essere un buono Ma per una tupla di solito ti interessa la posizione del valore, che è una delle bellezze delle tuple ... potresti prendere in considerazione l'uso di una tupla se non ti interessa la posizione – CaptChrisD
Puoi segnare @ La risposta di Gazler come risposta accettata se è giusta. –