Capitalizzare una stringa

Ruby:
Capitalizzare una stringa

Come fare:

Ruby fornisce metodi diretti per la manipolazione delle stringhe, inclusa la capitalizzazione:

# Metodo integrato di Ruby
string = "ciao MONDO"
capitalized_string = string.capitalize
puts capitalized_string # => "Ciao mondo"

Molto pratico.

Il metodo .capitalize di Ruby è comodo ma mette in maiuscolo solo la prima lettera. Per un maggiore controllo o per capitalizzare ogni parola in una stringa (noto come caso del titolo), potresti voler utilizzare il metodo titleize dall’estensione ActiveSupport di Rails, o implementarlo tu stesso:

# Usando 'titleize' di ActiveSupport in Rails
require 'active_support/core_ext/string/inflections'
string = "ciao mondo"
puts string.titleize # => "Ciao Mondo"
# Una soluzione fatta in casa
string = "ciao mondo"
capitalized_each_word = string.split.map(&:capitalize).join(' ')
puts capitalized_each_word # => "Ciao Mondo"

Questo metodo divide la stringa in un array di parole, capitalizza ciascuna di esse, poi le riunisce insieme con uno spazio.

Personalmente, porto questa idea molto più lontano nel mio codice. Ho scritto il mio metodo titleize che tiene conto di parole piccole come “a” e “the”.