gpt4 book ai didi

elixir - 使用速记符号匿名函数将元组转换为列表

转载 作者:行者123 更新时间:2023-12-05 00:55:04 24 4
gpt4 key购买 nike

阅读 Dave (PragProg) Elixir 的书。挑战是将一对元组转换为列表。

这有效

pair = fn {a,b} -> [a,b] end
pair.({1,2}) #=> [1,2]

现在我尝试使用速记符号(我觉得缺少一些东西但不知道它是什么......例如我怎么说我正在期待/发送一个元组)

如何使用速记符号获得相同的结果?
pair = &([&1,&2]) 
pair.({1,2}) #=> BadArityError

试过这个
pair = &{[&1,&2]} # but didn't work. I am missing something important

最佳答案

它不起作用,因为 {a, b}是一个参数,所以它被传递为 &1 ,没有&2 .

我能想到的一种方法是使用 Tuple.to_list/1函数所以它会是这样的:

pair = &Tuple.to_list/1
pair.({1,2}) #=> [1,2]

但如果这不是你想要的,那么你可以使用这样的东西:
pair = &([elem(&1, 0), elem(&1, 1)])
pair.({1,2}) #=> [1,2]

但这是一个仅适用于 2 个元素元组的简单示例,但它会让您了解自己做错了什么。

关于elixir - 使用速记符号匿名函数将元组转换为列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38936219/

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