, вероятно, уже спрашивал, но я не мог его найти .. вот 2 распространенные ситуации (для меня при программировании рельсов ..), которые сложно писать на ruby:
"a string".match(/abc(.+)abc/)[1]
в этом случае я получаю сообщение об ошибке, потому что строка не ' t соответствует, поэтому оператор [] вызывается при nil. Я бы хотел найти более приятную альтернативу следующему:
temp="a string".match(/abc(.+)abc/); temp.nil? ? nil : temp[1]
вкратце, если он не соответствует, просто верните nil без ошибки
Вторая ситуация такова:
var = something.very.long.and.tedious.to.write
var = something.other if var.nil?
В этом случае я хочу присвоить что-то var, только если это не nil, в случае nil я назначу что-нибудь. другое ..
Есть предложения? Спасибо!