LiveScript для цикла не работает или у меня неправильный синтаксис
При нормальных обстоятельствах (vanilla 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?
1 ответ
Решение
2014-08-01 17:34