CoffeeScript的调用返回的对象的方法(链接)
说我已经得到了代码:CoffeeScript的调用返回的对象的方法(链接)
cat = {
feed: (food) ->
alert "cat ate #{food}"
}
pets = {
"maximus": cat
}
getPet = (name) ->
pets[name]
我如何可以调用由“getPet”猫对象返回的“饲料”的方法?这不是一个有效的代码:
getPet "maximus" feed "Fish"
在普通的JavaScript就应该是这样的:
getPet("maximus").feed("Fish");
你不能没有上链的最左边的部分括号链接。
getPet('maximus').feed 'fish'
很遗憾。我有很长的序列。但是,无论如何,括号都可以!谢谢。 – 2012-02-01 15:57:45
为什么在CS中删除括号还有一个原因并不是一件好事。我真的希望这个“功能”不在CS中。现在,就是这样,我们的团队已经决定将它们从if语句的谓词中分离出来,但将它们留在其他地方。我认为它伤害了可读性,使它们不起作用,除了几次击键外,什么也不存在。 – 2012-02-01 21:15:31
对于我来说,我认为一个好的经验法则就是在分配任何方法返回时使用括号,所以a = runMethod(x),但是我避免包含它们。如果有多个测试,我只在条件中使用它们。 – Sandro 2012-02-01 21:33:09
我会留下评论,因为我真的不太了解CS,但是使用他们的在线CS评估器,我把它和'(getPet“maximus”)一起使用。更熟悉的人可能有更好的方法。 – 2012-02-01 15:38:13
谢谢!至少是这样的! – 2012-02-01 15:47:52
好的。我看到的其他方法似乎只是简单地重新引入'()'。 'getPet(“maximus”)。feed“Fish”' – 2012-02-01 15:49:03