As a learning Exercise with the FizzBuzz code in F#.
在递归函数调用使用列表FizzBuzz
参考使用代码here工作正常,并期待良好
在上面的代码中,我要学习/使用比赛,而不是如果如下这样的条件已经写下面的函数适用于任何给定的int值。
let fizzbuzz num =
match num with
| x when (x % 3 = 0 && x % 5 = 0) -> printfn "%s" "FizzBuzz"
| x when (x % 3 = 0) -> printfn "%s" "Fizz"
| x when (x % 5 = 0) -> printfn "%s" "Buzz"
| _ -> printfn "%s" (num.ToString())
;;
输出:
fizzbuzz 15;;
FizzBuzz
val it : unit =()
但是在我使用的列表作为输入,并让功能递归需要上面的代码。我该怎么做?我了解名单的工作,即使用h::t
并将t
作为recurisve传递给fizzbuzz
。我正在努力与我猜的语法。
在上面的代码中,如何使用列表(模式匹配和累加器参数)的高级指导?
是否有关于如何使用F#互动窗口少keystokes,因为我发现自己再次任何语法错误
List.iter fizzbuzz [1..20] – BLUEPIXY
@BLUEPIXY这就是我所建议的,阅读下面的答案。 –
@Ramon Snir是的,我的意思是说不需要改变。 – BLUEPIXY