Clojure - case 语句



Clojure 提供了‘case’ 语句,它类似于 Java 编程语言中的‘switch’ 语句。以下是 case 语句的一般形式。

语法

case expression
value1 statement #1
value2 statement #2
valueN statement #N
statement #Default

此语句的一般工作原理如下:

  • 要评估的表达式放置在 ‘case’ 语句中。这通常会计算出一个值,该值在后续语句中使用。

  • 每个值都针对 ‘case’ 表达式传递的值进行评估。根据哪个值成立,将执行后续语句。

  • 还有一个默认语句,如果前面没有一个值被评估为真,则会执行该语句。

下图显示了 ‘if’ 语句的流程。

Case Statement

示例

以下是 Clojure 中 ‘case’ 语句的示例。

(ns clojure.examples.hello
   (:gen-class))

;; This program displays Hello World
(defn Example []
   (def x 5) 
   (case x 5 (println "x is 5")
      10 (println "x is 10")
      (println "x is neither 5 nor 10")))
(Example)

在上面的示例中,我们首先将变量 ‘x’ 初始化为值 5。然后我们有一个 ‘case’ 语句,它评估变量 ‘x’ 的值。根据变量的值,它将执行相关的 case 语句集。最后一个语句是默认语句,如果前面没有语句被执行。

输出

以上代码产生以下输出。

x is 5
clojure_decision_making.htm
广告