<分区>
我查看了 Ruby on Rails 源代码,发现代码如下:
case options
when /\A([a-z][a-z\d\-+\.]*:|\/\/).*/i
...
when String
...
when :back
...
when Proc
...
end
其中 options
可以是 String
、Symbol
、Proc
或 Hash
> 对象。 ===
比较将仅在一种情况下返回 true
:
'string' === /string/ # => false
:back === :back # => true
(Proc.new {}) === Proc # => nil
Hash.new === Hash # => false
Ruby case
是如何工作的,允许匹配这些不同的大小写?