coffeescript for bug?

时间:2013-03-28 10:12:03

标签: coffeescript

关于coffeescript循环'for'

例如。
如果1< x,代码如下:

console.debug i for i in [1..0]

生成的代码是:

var i;
for (i = 1; i >= 0; i--) {
  console.debug(i);
}

如果1> x,代码如下:

console.debug i for i in [1..2]

生成的代码是:

var i;
for (i = 1; i <= 2; i++) {
  console.debug(i);
}

如果我想写javascript.How?

for(var i=1;i<=0;i++){
  console.debug(i);
}

因为我不知道条件是大于左侧还是小于左侧。 但我只想要它i ++

我怎么了? 编辑以下: 对于coffeescript的功能,我在循环之前添加条件或在for循环中添加条件。 例如:

if x - y >=1
  console.debug i for i in [1..x-y]

console.debug i for i in [1..x-y] and x-y >=1

这是我的方式。有人有好的建议吗?

2 个答案:

答案 0 :(得分:0)

for(var i=1;i<=0;i++){
    console.debug(i);
}

相当于

var i = 1;
while(true) {
    console.debug(i);
    i++;
}

在coffeescript中写为

i = 1
while true
  console.debug(i);
  i++;

答案 1 :(得分:0)

看起来你想要这样做:

console.debug i for i in [1..x-y] by 1

编译为:

var i, _i, _ref;

for (i = _i = 1, _ref = x - y; _i <= _ref; i = _i += 1) {
  console.debug(i);
}