gpt4 book ai didi

pattern-matching - 我可以在这个 Elixir 匿名函数中避免元组参数吗?

转载 作者:行者123 更新时间:2023-12-04 07:23:34 25 4
gpt4 key购买 nike

我正在学习“Programming Elixir”,我遇到了题为“Exercise: Functions 2”的练习。长话短说,基本上编写一个函数,如果前两个参数为 0,则发出 Fizzbuzz,如果第一个参数为 0,则发出 Fizz,如果第二个参数为 0,则发出 Buzz,如果前两个参数都不为零,则发出第三个参数。我想到了这个:

fizzbuzztest = fn
{0,0,_} -> "FizzBuzz"
{0,_,_} -> "Fizz"
{_,0,_} -> "Buzz"
{_,_,v} -> "#{v}"
end

这样调用:

fizzbuzztest.({0,0,8}) # "FizzBuzz"

但我想知道——是否有某种方法可以做到这一点而不必对参数进行元组?似乎应该有某种方法可以传递三个参数并进行模式匹配,但我还没有找到它。欢迎那些对 Elixir 有更多经验的人提出任何建议。

最佳答案

您可以通过以下方式解决此特定练习:

fizzbuzztest = fn
0,0,_ -> "FizzBuzz"
0,_,_ -> "Fizz"
_,0,_ -> "Buzz"
_,_,v -> "#{v}"
end

关于pattern-matching - 我可以在这个 Elixir 匿名函数中避免元组参数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21540330/

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