操作者

if /hay/ =~ 'haystack'
  puts "There is hay in the word haystack"
end

注意: 訂單很重要。雖然'haystack' =~ /hay/在大多數情況下是等效的,但副作用可能會有所不同:

  • 只有在呼叫 Regexp#=~ 時,才會將從命名捕獲組捕獲的字串分配給區域性變數( regexp =~ str );
  • 由於右運算元可能是一個任意物件,因此對於 regexp =~ str,將被稱為 Regexp#=~String#=~

請注意,這不會返回 true / false 值,而是返回匹配的索引(如果找到),如果未找到則返回 nil。因為 ruby 中的所有整數都是真的(包括 0)而 nil 是假的,這是有效的。如果你想要一個布林值,請使用 #===,如另一個示例所示。