我正在努力使以下代码工作:
class Elements
constructor: ->
loadAll: ->
success = (data) =>
doSomething
doSomethingElse
$.post bla success
它认为doSomething之后的所有内容都不是成功回调体的一部分。
编辑:我没有意识到CS对空格/标签敏感。 TextMate没有帮助; CS有更好的IDE吗?
答案 0 :(得分:2)
TextMate可能是CoffeeScript的最佳编辑器,由CoffeeScript创建者Jeremy Ashkenas维护。 (该软件包还与Sublime Text 2兼容,这是一个很好的跨平台替代方案。)这里的解决方案是:
这样,当你点击Tab键时,会插入指定空格的数量。通过避免使用实际的制表符,可以避免由 n 空间导致与 1 选项卡相同的人类造成的不可避免的混淆,但对编译器不明确。
CoffeeScript社区中的规范是2个空格,但是有很多人使用4个空格(这是Python-land中的官方标准);只需选一个并坚持下去。
如果您决定切换到Sublime Text 2,您可以将这些行添加到Base File.sublime-settings
首选项文件中,以强制使用给定数量的空格的软标签:
"tab_size": 2,
"translate_tabs_to_spaces": true,
总之:硬标签和具有重要空白的语言不会混合。配置编辑器以负责任地使用软选项卡和CoffeeScript。 :)