Ruby 中 case-when 语句的用法?

· 约 3 分钟读完 · 第 50 / 199 章

推荐答案

本题详细解读

1. 基本语法

case-when 语句是 Ruby 中用于多条件分支控制的结构。它的基本语法如下:

  • expression 是需要进行匹配的表达式或变量。
  • when 子句用于指定匹配的值或条件。
  • else 子句是可选的,用于处理所有 when 子句都不匹配的情况。

2. 匹配规则

case-when 语句使用 === 运算符进行匹配。这意味着 when 子句中的值可以是任何支持 === 运算符的对象,包括类、范围、正则表达式等。

例如:

在这个例子中,5 匹配了 1..10 的范围,因此会输出 "在 1 到 10 之间"。

3. 多个条件

可以在一个 when 子句中指定多个条件,使用逗号分隔:

在这个例子中,"apple" 匹配了第二个 when 子句,因此会输出 "这是苹果或葡萄"。

4. 使用正则表达式

when 子句还可以使用正则表达式进行匹配:

在这个例子中,"hello" 匹配了第一个正则表达式 /^h/,因此会输出 "以 h 开头"。

5. 使用类进行匹配

when 子句还可以使用类进行匹配:

在这个例子中,42 是 Integer 类的实例,因此会输出 "这是一个整数"。

6. 省略 expression

case 语句可以省略 expression,此时 when 子句会直接对条件进行求值:

在这个例子中,第一个 when 子句的条件为真,因此会输出 "2 + 2 等于 4"。