我得到了以下变量
variant_option= {"option", [{"value", "www.abc.com"}, {"data-value", "5"}], ["Select"]}
我要做的是获得第3个元素 - >的( “选择”)
variant_option
|> Enum.each(fn {"option", _, var} ->
Mix.shell.info var
end)
但是我得到了这个错误
protocol Enumerable not implemented for {\"option\",...........}
答案 0 :(得分:3)
你有一个元组,而不是元组列表。您的代码将使用列表:
variant_option = [{"option", [{"value", "www.abc.com"}, {"data-value", "5"}], ["Select"]}]
或者,如果您只有一个元组,则可以直接匹配模式:
variant_option = {"option", [{"value", "www.abc.com"}, {"data-value", "5"}], ["Select"]}
{"option", _, var} = variant_option
IO.inspect var
答案 1 :(得分:1)
一些简单的管道怎么样?
variant_option
|> Tuple.to_list
|> Enum.at(2)
|> List.first
它将根据需要返回"Select"
。
答案 2 :(得分:1)
实现目标的最简洁方法是
variant_option
|> elem(2)
|> Mix.shell.info()