最初的问题
更改了 ruby 版本 ( 1.9.3
> 1.9.2
),突然所有的 coffeescripts 开始产生效果unexpected INDENT
。
我已经三重检查了文件上的空格/制表符不一致,这不是问题。当我评论整个脚本时,相同的错误会跳转到下一个/另一个咖啡脚本文件。
尝试使用coffee-rails
3.2.1 和 3.2.2 版本。两者都没有成功。
有人要点灯吗?
更多细节
我找到了造成这种情况的原因,但我不明白为什么它对于不同的 Ruby 版本应该有不同的工作方式。这是一个很长的故事,但在这里。
我使用一个技巧来为我的类声明静态或动态的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
不再需要回答它,但如果有人可以解释它......我会很高兴。