F# 我不能从 10 倒计时到 0

0 f# timer

我对 F# 很陌生,想尝试做一个简单的倒计时;但是,在下面的代码中,它告诉我“t..0”有问题。

let countdown x =
let mutable t = 10
for t..0 do 
        t=t-1
Run Code Online (Sandbox Code Playgroud)

我希望它在终端中从 10 倒计时到 0。

Tom*_*cek 5

您的代码段存在三个问题。首先,您不需要tfor循环中递减- 这会自动发生。其次,如果你想要一个范围像t .. 0往下走,你需要指定-1为步长。此外,您的for循环语法需要定义一个变量(并且您不需要在循环外执行此操作):

let countdown x =
  for t in 10 .. -1 .. 0 do 
    printfn "Counting: %d" t
Run Code Online (Sandbox Code Playgroud)