我可以避免在此精灵匿名函数中避免使用的参数吗?



我正在通过"编程elixir"工作,我遇到了练习为"练习:函数2"。长故事简短,基本上是编码一个函数,如果前两个参数为0,则会发出fizzbuzz,如果第一个参数为0,则响起,如果第二个参数为0,则嗡嗡声如果前两个都不是零,则嗡嗡声。我想到了:

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

这样称呼:

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

但是我想知道 - 有什么方法可以做到这一点,而不必累计参数?似乎应该有某种方法可以通过三个论点并进行模式匹配,但我还没有找到它。欢迎使用更经验丰富的人的任何建议。

您可以使用以下方式解决此特定练习:

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

最新更新