delete ruby-on-rails ruby lowercase capitalize

ruby-on-rails - delete - ruby substring



Ruby on Rails descapitaliza primera letra (10)

Estoy corriendo Rails 2.3.2.

¿Cómo convierto "Cool" a "cool" ? Sé que "Cool".downcase funciona en caso de "Cool".downcase , pero ¿existe un método de Ruby / Rails que haga lo contrario de capitalize , es decir, uncapitalize o decapitalize ?


Hay un inverso de capitalize llamado swapcase :

"Cool Cat".swapcase #=> "cOOL cAT"


No hay inversa de capitalize , pero puede sentirse libre de rodar su propia cuenta:

class String def uncapitalize self[0, 1].downcase + self[1..-1] end end


No hay una inversión real de capitalizar, pero creo que el underscore se acerca.

"CoolCat".underscore #=> "cool_cat" "cool_cat".capitalize #=> "Cool_cat" "cool_cat".camelize #=> "CoolCat"

Editar: underscore es, por supuesto, la inversa de camelize , no capitalize .



Puedes usar tap (para que quepa en una línea):

"JonSkeet".tap { |e| e[0] = e[0].downcase } # => "jonSkeet"



También hay:

"coolat_cat".camelize(:lower) # => "coolCat"


También puedes hacer esto con un simple sub :

"Cool".sub(/^[A-Z]/) {|f| f.downcase }


name = "Viru" name = name.slice(0).downcase + name[1..(name.length)]


str = "Directly to the south" str[0] = str[0].downcase puts str #=> "directly to the south"