【问题标题】:Is it possible to write an anonymous squaring function in CoffeeScript?是否可以在 CoffeeScript 中编写匿名平方函数?
【发布时间】:2012-02-21 00:23:45
【问题描述】:

官网显示如下功能

square = (x) -> x * x 

然后你可以做类似的事情

square(4)

是否可以使用匿名函数在一行中完成上述操作?我正在考虑类似以下的内容

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

我的代码无法编译,但我希望意图足够清晰

【问题讨论】:

    标签: coffeescript


    【解决方案1】:

    我不确定它的应用程序是什么,但是如果将 square 的定义放在括号中,则可以将其替换为 square

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

    【讨论】:

    • 你可以在一行中解决 Project Euler #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)
    【解决方案2】:

    drop do 可能会正常工作:

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

    并使用纯匿名函数:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-09
      • 1970-01-01
      • 2016-06-22
      相关资源
      最近更新 更多