我努力學習的CoffeeScript,並取得了這個簡單的類作爲第一次嘗試明確的返回:的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語句中的return語句。這工作:
fib: (x) ->
return x if x == 0 || x == 1
(this.fib x-1) + (this.fib x-2)
爲什麼我需要明確的回報?根據語言描述,特別是http://jashkenas.github.com/coffee-script/#expressions,我預計x
表達式會被編譯器轉換爲返回值。