为什么或等于在coffeescript中打破我的REPL?

时间:2012-05-19 14:28:19

标签: coffeescript

如果我用Coffeescript 1.3.3打开REPL并输入:

y ?= 5

y = 5
y ||= 6

我得到一个错误,y未定义...编译最后一个有效,但第一个仍然是错误..这是预期的吗?

1 个答案:

答案 0 :(得分:1)

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