【发布时间】:2011-09-27 05:26:33
【问题描述】:
我正在尝试学习 CoffeeScript,并首次尝试了这个简单的课程:
class test
fib: (x) ->
x if x == 0 || x == 1
(this.fib x-1) + (this.fib x-2)
t = new test
alert(t.fib(6));
此代码不起作用,因为它是在 if 语句中没有返回语句的情况下编译的。这有效:
fib: (x) ->
return x if x == 0 || x == 1
(this.fib x-1) + (this.fib x-2)
为什么我需要明确的 return ?根据语言描述,尤其是http://jashkenas.github.com/coffee-script/#expressions,我预计x 表达式会被编译器转换为返回值。
【问题讨论】:
标签: coffeescript