coffeescript.org サイトの対話型コンパイラーの反応とは異なる、単純な式でのcoffeeコンパイラーの奇妙な動作を見つけました。
次の文字列をコーヒーでコンパイルしようとすると:
(console.log i; break) for i in [0..10]
私が得た:
SyntaxError: repl では、式で純粋なステートメントを使用できません。at SyntaxError (不明なソース) ...
しかし、coffescript.org の対話型コンパイラの同じ式は、私が期待していたように、うまくコンパイルされました。
var i, _i;
for (i = _i = 0; _i <= 10; i = ++_i) {
console.log(i);
break;
}
コーヒーが () グループ化を好まないのはなぜですか?
UPD
別の奇妙なこと - 常に起こるとは限らず、多くの試行とバリエーションの後、コーヒーはエラーなしでまったく同じ式を正常にコンパイルし始めます。
しかし、インタラクティブモードでは、コーヒーは常に失敗するようです。
私が見つけた別の奇妙なこと - このエラーは、'break' キーワードを使用した場合にのみ発生します。式 '(console.log i; i+1) for i in [0..5]' は正常に機能し、配列を返します。