CoffeeScript中的匿名函数分配

CoffeeScript中的匿名函数分配,coffeescript,indentation,anonymous-function,Coffeescript,Indentation,Anonymous Function,我正在努力使以下代码正常工作: class Elements constructor: -> loadAll: -> success = (data) => doSomething doSomethingElse $.post bla success 它认为做某事后的一切都不是身体的一部分 编辑:我不知道CS对空间/标签敏感。TextMate对此没有帮助;有更好的CS IDE吗

我正在努力使以下代码正常工作:

class Elements
    constructor: ->

    loadAll: ->
        success = (data) =>
            doSomething
            doSomethingElse

        $.post bla success
它认为做某事后的一切都不是身体的一部分

编辑:我不知道CS对空间/标签敏感。TextMate对此没有帮助;有更好的CS IDE吗?

TextMate可能是CoffeeScript的最佳编辑器,CoffeeScript创建者Jeremy Ashkenas维护了一个包。(捆绑包还与兼容,这是一个很好的跨平台替代方案。)这里的解决方案是:

  • 将现有文件中的所有选项卡转换为空格(正如Jeremy在评论中建议的那样),然后
  • 使用窗口底部的开关切换到软选项卡:
  • 这样,当您按Tab键时,将插入指定的空格数。通过避免使用实际的制表符,您可以避免由于n个空格在人看来与1个制表符相同,但在编译器看来不明确而导致的不可避免的混淆

    CoffeeScript社区的标准是2个空格,但是有很多人使用4个空格(这是Python领域的官方标准);只要选一个,坚持下去

    如果您决定切换到升华文本2,您可以将这些行添加到
    基本文件中。升华设置
    首选项文件可强制使用给定空格数的软选项卡:

    "tab_size": 2,
    "translate_tabs_to_spaces": true,
    

    总之:硬制表符和带有大量空白的语言不会混合使用。将编辑器配置为负责任地使用软选项卡和CoffeeScript.:)

    TextMate的CoffeeScript捆绑包只需谷歌搜索即可:我使用它,它的着色效果很好,但它无助于解决空间/标签问题。我会努力找到一些。。。在Eclipse中,您可以告诉它使用空格作为选项卡。到底是什么问题?我不使用TextMate,但它与程序员一样流行,我确信它具有可配置的选项卡/空间设置,可能是基于每个文件类型。TextMate允许您基于每个文件类型指定选项卡/空间(查看底部的栏),您还可以使用文本菜单/Convert/Tabs to Spaces工具来更正现有文档。您还可以使用View/**Show Invisibles**,它将显示制表符(虽然这可能太微妙了,但通常最好使用@Jeremy的解决方案)。
    4空格==tab
    (除了出于某种原因决定一个制表符应等于8个空格的浏览器…@Ricardomasi是的;如果我使用硬制表符,我会使用4个空格。但是由于我将代码缩进2个空格,我希望“tab”键的意思是“插入两个空格”