このCoffeeScriptの部分:
for i in [1..10]
console.log i
次のようにコンパイルされます。
for (i = _i = 1; _i <= 10; i = ++_i) {
console.log(i);
}
だけを使用しない理由がわかりませんi
。何か案は?
このCoffeeScriptの部分:
for i in [1..10]
console.log i
次のようにコンパイルされます。
for (i = _i = 1; _i <= 10; i = ++_i) {
console.log(i);
}
だけを使用しない理由がわかりませんi
。何か案は?
私は CoffeeScript にあまり詳しくありませんがi
、ループ内で変数が変更されるのを防ぐためだと思います。
例えば:
for i in [1..10]
console.log i
i = 7
このコードを生成した可能性があります
for (i = 1; i <= 10; ++i) {
console.log(i);
i = 7;
}
これは明らかに無限ループを引き起こします。
ただし、CoffeeScript のバージョンでは、次のことが起こります。
for (i = _i = 1; _i <= 10; i = ++_i) {
console.log(i);
i = 7;
}
_i
ループ内の位置を追跡するが存在するため、ループはもはや無限ではありません。