Coffeescript 1.3.3 で REPL を開いて次のように入力すると:
y ?= 5
また
y = 5
y ||= 6
y が定義されていないというエラーが表示されます...最後のものをコンパイルするとうまくいきますが、最初のものはまだエラーになります..これは予想されますか?
Coffeescript 1.3.3 で REPL を開いて次のように入力すると:
y ?= 5
また
y = 5
y ||= 6
y が定義されていないというエラーが表示されます...最後のものをコンパイルするとうまくいきますが、最初のものはまだエラーになります..これは予想されますか?
coffee> y = 5
5
coffee> y ||= 6
Error: In repl, the variable "y" can't be assigned with ||= because it has not been defined.
これは、各評価に個別のコンパイルが含まれるためです。回避策は、グローバルオブジェクトのプロパティとしてアクセスすることです。
coffee> y = 5
5
coffee> global.y
5
coffee> @y
5
coffee> @y &&= 6
6
coffee> y
6