2012-01-28 45 views
1

官方网站显示下面的函数是否可以在CoffeeScript中编写匿名平方函数?

square = (x) -> x * x 

然后,你可以这样做

square(4) 

是否有可能做上述使用匿名函数单行?我在考虑像下面

(f = do (x) -> x * x) (4) 

我的代码不能编译,但我希望的意图是非常明显的

回答

5

我不知道这个应用程序是什么,但你可以替代的square定义为square如果你用小括号括它:

((x) -> x*x)(4) #evaluates to 16 
+3

然后,可以解决项目欧拉#6在单行:-)的console.log((N) - >(((X) - > X * X )([0..n] .reduce(a,b) - > a + b)))(100) - ((n) - >([0..n] .map(i) - > i * i ).reduce(a,b) - > a + b)(100) – Hoa 2012-01-28 08:12:18

1

下降do可以很好地工作:

#alert (f = (x) -> x * x) (4) 
(f = (x) -> x * x) (4) 

,并使用纯匿名功能:

#alert ((x) -> x * x) (4) 
((x) -> x * x) (4) 
相关问题