Некоторые люди будут делать:
def foo
!!(str=~/do i match/)
end
# or
def foo
match = str=~/do i match/
!!match
end
Второй !
запускает тест на достоверность и отрицает ответ, затем первый !
снова отрицает его, чтобы получить первоначальный истинный результат.
Я предпочитаю более явный синтаксис:
def foo
str =~ /do i match/ ? true : false
end
Это делает правду, но мне кажется яснее. Делай то, что тебе кажется чистым.