erlang中元组中的元素与否?

hal*_*elf 1 erlang

我想知道Erlang中是否有函数可以帮助我知道元素是否在元组中.喜欢集合:is_element/2.

Tuple = {aaa,bbb,ccc}.
is_element_of_tuple(Tuple, aaa)  % => true
is_element_of_tuple(Tuple, ddd)  % => false
Run Code Online (Sandbox Code Playgroud)

Emi*_*röm 6

您始终可以使用tuple_to_list/1将元组转换为列表:

is_element_of_tuple(Tuple, Element) ->
    lists:member(Element, tuple_to_list(Tuple)).
Run Code Online (Sandbox Code Playgroud)

  • 在这里使用`lists:member/2`可能更好. (6认同)
  • 阵列确实更适合这种情况.我要理解元组是模式匹配的,所以你应该几乎总是使用元素(X,T)来查找元素是否在元组的某个位置. (2认同)