2012-05-19 2 views
2

Если я открываю REPL с CoffeeScript 1.3.3 и типа:Почему или равнорывает мой REPL в coffeescript?

y ?= 5 

или

y = 5 
y ||= 6 

я получаю ошибку, что у не определен ... Для компиляции последний работает, но первые по-прежнему ошибки .. Ожидается ли это?

+1

Можете ли вы показать сообщения об ошибках? –

+0

Вот фактическое сообщение об ошибке: y? = 5 Ошибка: В repl переменная «y» не может быть назначена символом? =, Поскольку она не определена. –

ответ

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 
+1

matyr исправить, но, чтобы быть понятным, это известная ошибка: https://github.com/jashkenas/coffee-script/issues/1829#issuecomment-5057522 –

+0

Спасибо, Тревор, оцените его. – Inc1982

Смежные вопросы