如何在ACSL BASIC中使用NEXT和TO?

问题描述

我有以下程序:

var people = [
  { 
    "name":"John","birth":"1986-12-14","city":"New York"
  },{
    "name":"Mike","birth":"1996-01-24","city":"Los Angeles"
  }
];


var peopleDescOrder = people.sort((a,b) => b > a ? 1 : -1);
console.log(peopleDescOrder);

TO和NEXT命令做什么?我知道它们是循环,但是如何使用?

解决方法

使用BASIC编程语言:

TO-指示循环中范围的右边界;

NEXT identifier-将identifier增加1。


在您的情况下,FOR J = 1 TO LEN(A$)会转换为for loop,这会将您的迭代变量J初始化为1,并且条件为J <= 21 A $的值为21 ),并且每次迭代将迭代变量J递增1。

,
FOR variable=<begining> TO <ending> STEP <step. Default is 1>

…初始化循环,并告知每次迭代应在此点之后重新开始。默认行为是在每个循环中递增变量(因此,执行“ +1”操作),但是您可以指定其他值,尤其是负值,如果起始值大于最终值,则将需要该值。

NEXT variable

…两者均指示循环的结束,并命令解释器执行另一次迭代,返回循环的顶部。您需要专门的说明,因为您可能已经注意到,BASIC不会使用{ … }之类的块。

在有多个嵌套循环语句的情况下,必须在NEXT之后传递变量的原因是要区分您在说的是哪个循环。您也可以嵌套多个变量。例如:

FOR X=1 TO 10
FOR Y=1 TO 10
PRINT X;" * ";Y;" = ";X*Y
NEXT Y
NEXT X

…也可以这样写:

FOR X=1 TO 10
FOR Y=1 TO 10
PRINT X;" * ";Y;" = ";X*Y
NEXT Y,X

请注意,将变量传递到NEXT仍然是可选的。如果您不这样做,则该语句将应用于“最近”循环(不过,我不记得它是代码中最接近的还是最新调用的那个)。