在正常情况下(香草JS)我可能会做这样的事情 -

var mystring = "foo";
for(i = 0; i < mystring.length; i++) {
    console.log(i);
}

这将返回 [0,1,2]`

我无法在LiveScript中找到产生该行为的语法。我最接近的是这个 -

 mystring = \foo
 for i from 0 to my.length-1 // note the -1
     console.log i

它编译成这个JavaScript -

var mystring, i$, to$, i;
mystring = 'foo';
for (i$ = 0, to$ = mystring.length - 1; i$ <= to$; ++i$) {
  i = i$;
  console.log(i);
}

这也返回 [0,1,2].

如果我不包括 -1 返回的数组是 [0,1,2,3] 这是预期的,因为LiveScript在这种情况下如何编译为JavaScript。

在LiveScript中不可能得到一个纯粹的"小于"条件吗?

有帮助吗?

解决方案

你想用 til, ,不 to

for i from 0 til my.length

LiveScript循环

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top