0

元の問題

Ruby のバージョン ( 1.9.3> 1.9.2) を変更すると、突然すべての coffeescripts が生成され始めましunexpected INDENTた。

ファイルのスペース/タブの不一致をトリプルチェックしましたが、これは問題ではありません。スクリプト全体にコメントすると、同じバグが次/別の coffeescript ファイルにジャンプします。

coffee-railsバージョン 3.2.1 と 3.2.2で試しました。どちらも成功なし。

ランプを灯す人はいますか?

詳細

これの原因はわかりましたが、Ruby のバージョンごとに動作が異なる理由がわかりません。話が長くなりましたが、ここまでです。

クラスに静的または動的なゲッターとセッターを宣言するトリックを使用します。これは次のようなものです。

Function::dynamic = (prop, desc) ->
  Object.defineProperty @prototype, prop, desc

Function::static = (prop, desc) ->
  Object.defineProperty @, prop, desc

これにより、次のようなプロパティを宣言する方法が提供されます。

class MyClass
  @static 'accessor'
    get: -> _accessor
    set: (value) -> _acessor = value

コード全体にこれがたくさんありますが、Ruby をダウングレードした後、コード構造が機能しなくなりました。ここで、メソッドの最初のパラメーターの後にコンマを追加する必要があります。お気に入り:

@static 'accessor',
  get: -> (...)

そして、これがすべてでした。:S

答えはもう必要ありませんが、誰かがそれを説明できれば... うれしいです.

4

1 に答える 1