Как преобразовать "Cool" в "Cool"? Я знаю, что "Cool".downcase работает, но есть ли метод Ruby/Rails, который делает противоположное от capitalize, т.е. uncapitalize или decapitalize?
Ответ 1
Нет инверсии capitalize, но вы можете свободно откатываться:
class String
def uncapitalize
self[0, 1].downcase + self[1..-1]
end
end
Ответ 2
Существует также:
"coolat_cat".camelize(:lower) # => "coolCat"
Ответ 3
Вы также можете сделать это с помощью простого sub:
"Cool".sub(/^[A-Z]/) {|f| f.downcase }
Ответ 4
str = "Directly to the south"
str[0] = str[0].downcase
puts str
#=> "directly to the south"
Ответ 5
Не существует реального инверсированного значения, но я думаю, что underscore близок.