如果多个元素被认为是最大元素,则返回找到的第一个元素。 https://hexdocs.pm/elixir/Enum.html#max/2
iex> [4, 0, 4] |> Enum.with_index |> Enum.max
{4, 2}
我本以为这会返回{4, 0}
,显然我错过了什么?
感谢您提供任何帮助以解决我的疑惑:)
答案 0 :(得分:7)
这是因为在l = list(item1 = c(1,2,3), item2 = 'a', item3 = c(TRUE,FALSE,TRUE), item4 = c(2.5,4.2))
之后,您的列表为|> Enum.with_index
且[{4, 0}, {0, 1}, {4, 2}]
大于{4, 2}
,因为在比较元组时,当第一个元素相等时,比较第二个(然后是第三个等)元素。
测试您要测试的内容的正确方法是使用{4, 0}
代替:
Enum.max_by/2