LiveScript для цикла не работает или у меня неправильный синтаксис
-
02-01-2020 - |
Вопрос
При нормальных обстоятельствах (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?
Решение
Не связан с StackOverflow