我在弄清楚如何使用“let”形式时遇到了一些麻烦。在下面的示例中,我想在本地绑定值“cols”,以便稍后在函数中处理它。然而,我注意到,如果我使用“let”,函数 sel-opt-tmp 将返回 nil 值而不是列表。
(defn sel-opt-tmp []
(let [cols "test"]))
(prn (sel-opt-tmp))
*上面的代码返回一个nil值。
我知道“let”仅绑定函数范围内的值,我不知道是否有办法将值传递出let范围。也许有一些我不知道的“回归”之类的东西?或者这只是糟糕的设计,在这种情况下我根本不应该使用绑定(这往往会创建难以阅读的长函数链)?
它返回 nil,因为 let 语句的内容为空(或 nil)。尝试:
(let [cols "test"] cols)
这将返回的值cols
。正如 seh 所说,let 语句的计算结果是其最后一个子表达式的值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)