Как мне избежать зарезервированных слов CoffeeScript? - PullRequest
3 голосов
/ 29 сентября 2011

Я пытаюсь запустить некоторые модульные тесты, используя QUnit, написанный на CoffeeScript, но, похоже, есть некоторые зарезервированные слова, которые вызывают проблемы, особенно «нет». Есть ли способ избежать зарезервированного слова CoffeeScript? Вот простой тест, который демонстрирует проблему:

module "Sad face test"

test "will not compile", ->
    not false, "holy crap this creates a syntax error :-("

Сгенерированная ошибка: «Ошибка разбора в строке 3: Неожиданно», «»

Ответы [ 2 ]

4 голосов
/ 29 сентября 2011

Лучший ответ, который мне удалось найти, - это перейти в JavaScript и назвать функцию:

notEqual = `not`

module "Sad face test"

test "will not compile", ->
    notEqual false, "holy crap this creates a syntax error :-("

Хотя похоже, что not не является функцией в последней версии QUnit, поэтому в данном конкретном случае вам может не потребоваться экранировать зарезервированное слово CoffeeScript.

3 голосов
/ 29 сентября 2011

Функция not является глобальной, поэтому на самом деле она прикреплена к window, верно? Вместо экранирования от обратной черты вы можете написать

window.not

вместо not; или

notEqual = window.not
...