clojure/lisp方言等函数的结果表达式



在clojure函数中可以有多个表达式吗。

下面是一个例子。

(defn side-effect-add [a b]
   (println "Doing some side effect")
   (+ 1 2)
   (+ a b)
)

这样的东西可以吗?或者是一个允许在正文中具有/返回单个表达式结果的函数。

谢谢。

这是有效的Clojure。

  • 对于表达式/表单的序列,函数返回值最后一个。任何其他的都只有副作用,比如上面的(println ...)
  • 函数体有一个隐含的do来实现这一点

最新更新