gpt4 book ai didi

Clojure:让作用域和函数返回值

转载 作者:行者123 更新时间:2023-12-03 21:24:26 27 4
gpt4 key购买 nike

我在弄清楚如何使用“让”表单时遇到了一些麻烦。在下面的示例中,我想在本地绑定(bind)值“cols”,以便稍后在函数中对其进行处理。然而,我注意到的是,如果我使用“let”,函数 sel-opt-tmp 将返回一个 nil 值而不是一个列表。

(defn sel-opt-tmp []
(let [cols "test"]))

(prn (sel-opt-tmp))

*以上代码返回一个 nil 值。

我知道“let”只绑定(bind)函数范围内的值,我不知道是否有办法将值传递到 let 范围之外。也许有我不知道的“返回”之类的东西?或者这只是糟糕的设计,在这种情况下我根本不应该使用绑定(bind)(这往往会创建难以阅读的长链函数)?

最佳答案

它返回 nil 因为 let 语句的内容为空(或 nil)。尝试:
(let [cols "test"] cols)
这将返回 cols 的值.正如 seh 所说,一个 let 语句的计算结果是其最后一个子表达式的值。

关于Clojure:让作用域和函数返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8185522/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com