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