В рубина, что это лучший/самый элегантный способ для возвращения значения, такие как:Написание лучше Ruby: как отличить объекты от ложных или истинных?
#method returns true or false if 'do i match' is present in string
def method(str)
str =~ /do i match/
end
Что случилось с кодом, как это? Он возвращает правдивое значение, когда оно соответствует, и ложное в противном случае. Когда вы ожидаете логическое значение, вы не должны использовать '== true' или' == false' в любом случае. – rampion
возвращает 0 или нуль. Я думаю, что он должен возвращать истинное или ложное, довольно стандартное соглашение ... везде? Плюс я не использую == true, такие как [statement] if method? находятся. Кажется гораздо лучше, чем помнить, если API, который я написал, возвращает значения арбитража, а затем нахожу то, что они есть, а затем записывает логику, такую как метод? .zero? – Zombies
Но я считаю, что в рубине все, кроме nil и false, является правдивым (даже 0! Даже пустая строка!), Поэтому, как ваш метод стоит, «puts» я работаю! » if method ('do i match') 'будет печатать" Я работаю! ". Не нужно «.zero?». – rampion