【发布时间】:2013-05-02 04:56:17
【问题描述】:
原来的问题
更改了 ruby 版本 (1.9.3 > 1.9.2),突然所有的咖啡脚本都开始生成 unexpected INDENT。
我已经对文件的空格/制表符进行了三次检查,这不是问题所在。当我评论整个脚本时,相同的错误会跳转到下一个/另一个咖啡脚本文件。
尝试使用 coffee-rails 版本 3.2.1 和 3.2.2。两者都没有成功。
有人来点灯吗?
更多详情
我找到了造成这种情况的原因,但我不明白为什么它对不同的 Ruby 版本的工作方式会有所不同。这是一个很长的故事,但在这里。
我使用一个技巧来为我的类声明 static 或 dynamic getter 和 setter。这类似于:
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
回答它不再需要,但如果有人能解释它......我会很高兴。
【问题讨论】:
-
刚刚成功:第一次添加,第一次调用,第一次窃听。 :(
标签: ruby-on-rails ruby coffeescript