相关疑难解决方法(0)

调用Clojure高阶函数

如果我定义一个返回如下函数的函数:

(defn add-n
  [n]
  (fn [x] (+ x n)))
Run Code Online (Sandbox Code Playgroud)

然后我可以将结果分配给符号:

(def add-1 (add-n 1))
Run Code Online (Sandbox Code Playgroud)

并称之为:

(add-1 41)
;=> 42
Run Code Online (Sandbox Code Playgroud)

如何在(add-n 1)不将其分配给新符号的情况下调用结果?以下产生此输出:

(println (add-n 1))
#<user$add_n$fn__33 user$add_n$fn__33@e9ac0f5>
nil
Run Code Online (Sandbox Code Playgroud)

#<user$add_n$fn__33 user$add_n$fn__33@e9ac0f5>是生成函数的内部引用.

clojure higher-order-functions

7
推荐指数
1
解决办法
1014
查看次数

标签 统计

clojure ×1

higher-order-functions ×1