Если все, что я ищу, это совпадение подстроки без учета регистра, которое я обычно использую:
str.downcase['do: ']
9 раз из 10 Мне все равно, где в строке находится совпадение, так что это мило и лаконично.
Вот как это выглядит в IRB:
>> str = "Things to do: eat and sleep." #=> "Things to do: eat and sleep."
>> str.downcase['do: '] #=> "do: "
>> str.downcase['foobar'] #=> nil
Поскольку он возвращает nil
, если нет попадания, он работает и в условных выражениях.