MST

星途 面试题库

面试题:Ruby中case语句如何实现智能类型匹配

请说明在Ruby中,case语句是怎样根据不同的数据类型进行智能匹配的,并给出一个示例,例如针对数字、字符串、数组等不同类型数据进行匹配处理。
33.2万 热度难度
编程语言Ruby

知识考点

AI 面试

面试题答案

一键面试

在Ruby中,case语句通过将给定表达式与when子句中的值进行比较来实现匹配。它能够智能匹配不同数据类型,比较方式遵循Ruby的类型比较规则。

示例如下:

value = 10

case value
when 10 then puts "匹配到数字 10"
when "hello" then puts "匹配到字符串 hello"
when [1, 2, 3] then puts "匹配到数组 [1, 2, 3]"
else puts "未匹配到任何类型"
end

在上述示例中,case语句根据value变量的实际类型和值,与不同when子句进行匹配。如果value是数字10,就会匹配到第一个when子句;若是字符串"hello",则匹配第二个;若是数组[1, 2, 3],匹配第三个。若都不匹配,执行else部分。