Clojure - 评估高阶函数的返回函数

标签 clojure read-eval-print-loop

如果我在 repl 中运行高阶函数,或者返回函数的东西,如下所示,是否有任何方法可以稍后检索返回的函数(repl 返回的值)并对其求值?

user> #(% 5 5)
#function[user/eval13160/fn--13161]

为了解释这个问题的原因,我正在玩弄 http-kit ,并运行函数 run-server。直到执行后我才意识到该函数返回了一个停止服务器所需的函数,所以我一直在想如何使用返回的函数。

最佳答案

是的,您可以使用 *1 访问以前的 REPL 值:

user=> #(% 5 5)
#object[user$eval3$fn__4 0x487db668 "user$eval3$fn__4@487db668"]
user=> (*1 +)
10

*2*3 用于先前评估的尾随值,*e 用于先前的异常。

您还可以def 结果:

(def my-fn #(% 5 5))
(def my-fn *1) ;; or do it later

关于Clojure - 评估高阶函数的返回函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55613861/

相关文章:

javascript - 将应用程序与 REPL 一起使用时如何解决 promise

clojure - 提醒黎曼?

error-handling - 抛出错误以延迟Clojure

delphi - Delphi IDE 的 REPL?

swift - 如何在 Swift REPL 的代码片段中插入换行符

julia - 如何定义类型在 Julia REPL 上的显示方式

clojure - leinigen 中的类路径问题

java - 使用 incanter 从 clojure 中的数组获取均值和协方差矩阵

Clojure.test 抛出?不在 repl 中工作

C# REPL 工具;类似控制台的快速编译工具