gpt4 book ai didi

tuples - 提取管道中元组的第二个元素

转载 作者:行者123 更新时间:2023-12-04 02:57:56 24 4
gpt4 key购买 nike

我希望能够在不使用 with 的情况下提取管道中元组的第 N 个项目或以其他方式破坏管道。 Enum.at除了元组不是枚举这一事实之外,它会完美地工作。

这是一个励志的例子:

colors = %{red: 1, green: 2, blue: 3}
data = [:red, :red, :blue]
data
|> Enum.map(&Map.fetch(colors, &1))
|> Enum.unzip

这将返回 {[:ok, :ok, :ok], [1, 1, 3]}假设我只想提取 [1, 1, 3]
(对于这个特定情况,我可以使用 fetch! 但对于我不存在的实际代码。)

我可以补充
|> Tuple.to_list
|> Enum.at(1)

有没有更好的方法来做到这一点,不需要从每个元组中创建一个临时列表?

最佳答案

使用 Kernel.elem/2 :

iex(1)> {[:ok, :ok, :ok], [1, 1, 3]} |> elem(1)
[1, 1, 3]

关于tuples - 提取管道中元组的第二个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50496783/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com