什么" _"意味着在Clojure语言中的let绑定?

时间:2018-03-16 09:52:00

标签: clojure

例如我们有函数:

(defn my-fun [param]
      (let [[x _] param]
        x))

为什么我们使用" _"在这个例子中?

1 个答案:

答案 0 :(得分:8)

(let [[x _] [1 2]] x)解构序列的第一个元素并将其绑定到名称x。它还将第二个值绑定到名称_,但按照惯例,此名称表示可以忽略该值。 请注意,(let [[x _] [1 2]] [x _])在技术上是有效的Clojure,但_的语义是我们不关心该值。从编译器的角度来看,没有对该符号的特殊处理,只是人类惯例。

相关问题