Кофескрипт переключается, когда

Мой кофейный скрипт выглядит следующим образом:

level = switch
      when 0 <= value <= 1 then 0
      when 1 < value <= 2 then 1
      when 2 < value <= 3 then 2
      when 3 < value <= 4 then 3
      when 4 < value <= 5 then 4
      else 6

Почему я получаю:

Uncaught Error: ExecJS::ProgramError: [stdin]:15:4: ошибка: неожиданно, когда 1 ‹ значение ‹= 2, затем 1

Это отлично работает:

 when value <= cool then 0
      when value >= warm then 4
      else 
        bucketSize = (warm - cool) / 3 # Total # of colours in middle
        Math.ceil (value - cool) / bucketSize

Это также работает:

 level = switch
      when value <= 1 then 0
      when value <= 4 then 4
      else 5

пока я не добавлю, когда значение ‹=2, затем 1


person kinkajou    schedule 22.07.2015    source источник
comment
Кажется, это правильно. Я попробовал это на странице coffeeScript и работает. Убедитесь, что это не проблема ExecJS или что-то еще.   -  person Matias    schedule 22.07.2015
comment
@Matias Я использую лихой. как узнать, является ли это проблемой execjs?   -  person kinkajou    schedule 22.07.2015
comment
Похоже, вы не компилируете coffeescript в javascript перед его запуском.   -  person Bergi    schedule 22.07.2015
comment
Синтра компилирует это, я думаю   -  person kinkajou    schedule 22.07.2015


Ответы (1)


Все дело было в отступах.

level = switch
      when 0 <= value < 1 then 0
      when 1 <= value < 2 then 1
      when 2 <= value < 3 then 2
      when 3 <= value < 4 then 3
      when 4 <= value <= 5 then 4
      else 5

Я сохранил код здесь: http://www.coffeelint.org/

а потом проверил отступ.

person kinkajou    schedule 23.07.2015
comment
@AJFarmar, когда я вставил код в lint, он показал, что возникла проблема с отступами. - person kinkajou; 23.07.2015
comment
Не могли бы вы принять этот ответ, чтобы вопрос был закрыт? Спасибо. - person tylermauthe; 23.07.2015