clojure case switch。最后一行怎么样?

时间:2015-02-13 15:14:09

标签: clojure

(defn explain-defcon-level [exercise-term]
  (case exercise-term
        :fade-out          :you-and-what-army
        :double-take       :call-me-when-its-important
        :round-house       :o-rly
        :fast-pace         :thats-pretty-bad
        :cocked-pistol     :sirens
        :say-what?))

对于这段代码,其他最后一行,我理解它们。 它使用关键字来查找值。 但最后一行,为什么有一个问号,没有相应的值。 需要一些解释。感谢

1 个答案:

答案 0 :(得分:5)

这是默认值。如果没有其他子句匹配,它将返回say-what?。问号在这里没有任何意义,因为关键字可能只包含“任何”字符。

http://clojuredocs.org/clojure.core/case

  

单身   默认表达式可以遵循子句,其值将是   如果没有子句匹配则返回如果未提供默认表达式   并且没有子句匹配,抛出IllegalArgumentException。

相关问题