В вопросе, который вы сказали:
... метод, который проверяет строку для шаблона и возвращает true или false, если регулярное выражение соответствует
Как указано johannes String=~
возвращает nil
, если шаблон не совпадает, и позиция в строке, где совпадающее слово выглядело иначе. Далее в Ruby говорится, что все, кроме nil
и false
, ведут себя как true
. Все это правильно.
Однако они не являются точно true
или false
. Следовательно, последний шаг заключается в приведении значения к Boolean
. Это достигается за счет переноса результата в двойные удары и возвращает true
.
def has_regex?(string)
!!(string =~ /something/i)
end