我试图在 Clojure 中实现这个逻辑(只是一个例子):
a = 1 + 5
b = a + 3
c = a + 4
d = c + a
return f(a, b, c, d)
到目前为止,我设法编写的最好的代码如下所示:
(let [a (+ 1 5) b (+ a 3) c (+ a 4) d (+ c a)] (f a b c d))
这看起来相当麻烦,主要是因为在我的实际案例中,这些“添加”操作要复杂得多,可能需要几行代码。我宁愿把它写成(Lisp 风格):
(set a (+ 1 5))
(set b (+ a 3))
(set c (+ a 4))
(set d (+ c a))
(f a b c d)
在 Clojure 中可以吗?