3

CoffeeScriptで記述されたQUnitを使用していくつかの単体テストを実行しようとしていますが、問題を引き起こしている予約語がいくつかあるようです。特に「ない」です。CoffeeScriptの予約語をエスケープする方法はありますか?問題を示す簡単なテストは次のとおりです。

module "Sad face test"

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

これが生成するエラーは、「3行目の解析エラー:予期しない'、'」です。

4

2 に答える 2

4

私が見つけた最良の答えは、JavaScriptにエスケープして、関数のエイリアスを作成することです。

notEqual = `not`

module "Sad face test"

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

QUnitの最新バージョン内の関数ではないように見えますnotが、この特定のインスタンスでは、CoffeeScriptの予約語をエスケープする必要がない場合があります。

于 2011-09-29T09:03:10.607 に答える
3

not関数はグローバルなので、実際にアタッチされていますwindowよね?バッククォートエスケープの代わりに、次のように書くことができます

window.not

の代わりにnot; また

notEqual = window.not
于 2011-09-29T14:51:41.223 に答える