F#我无法从10倒数到0

问题描述

我对F#相当陌生,想尝试进行简单的倒计时;但是,在下面的代码中,它告诉我“ t..0”存在问题。

let countdown x =
let mutable t = 10
for t..0 do 
        t=t-1

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

解决方法

您的代码段存在三个问题。首先,您不需要在t循环中递减for-这会自动发生。其次,如果您希望降低t .. 0之类的范围,则需要指定-1作为步骤。另外,您在for循环中的语法需要定义一个变量(并且您无需在循环外执行此操作):

let countdown x =
  for t in 10 .. -1 .. 0 do 
    printfn "Counting: %d" t
,

Tomas的答案显示了范围语法,但也有命令式语法,类似于for循环。

for i = 10 downto 1 do 
  printfn "Counting: %d" i

要计数,请使用for i = 0 to 10

,

试试这个:

var i = 10;
var interval = setInterval( increment,1000);
  
function increment(){
  i = i - 1;
  if(i <= -1) {
    return
  }
  console.log(i);
}

细分:

倒计时应该从哪里开始:

var i = 10;

增量间隔:(通常为1000ms)

var interval = setInterval( increment,1000);

实际倒计时:

function increment(){
i = i - 1;

如果计数器变为负数,则停止计数:

if(i <= -1) {
return
}

在控制台日志中写入结果:

  }
  console.log(i);
}