filename = filename.gsub("_", " ")
Или если все в порядке, чтобы изменить строку:
filename.gsub!("_", " ")
Проверка, возвращает ли gsub
ноль, совершенно не нужна - gsub
никогда не возвращает nil
.gsub!
возвращает nil
, если не было внесено никаких изменений, но если вы используете gsub!
, вы все равно обычно не заботитесь о возвращаемом значении.
Также обратите внимание, что код, который вы дали, всегда будет возвращатьсяfilename
без изменений, потому что вы перепутали then
- и else
-часть вашей ?:
.