Gör om en sträng till versaler

Ruby:
Gör om en sträng till versaler

Hur:

Ruby tillhandahåller rakvägade metoder för strängmanipulering, inklusive kapitalisering:

# Rubys inbyggda metod
string = "hello WORLD"
capitalized_string = string.capitalize
puts capitalized_string # => "Hello world"

Mycket praktiskt.

Rubys .capitalize metod är bekväm, men gör bara det första bokstaven stor. För mer kontroll eller för att kapitalisera varje ord i en sträng (känt som titel-fall), kanske du vill använda titleize metoden från Rails ActiveSupport-tillägget, eller implementera det själv:

# Använda ActiveSupports 'titleize' i Rails
require 'active_support/core_ext/string/inflections'
string = "hello world"
puts string.titleize # => "Hello World"
# En hemmagjord lösning
string = "hello world"
capitalized_each_word = string.split.map(&:capitalize).join(' ')
puts capitalized_each_word # => "Hello World"

Denna metod delar upp strängen i en array av ord, gör varje ett av dem stort, sedan sammanfogar dem återigen med ett mellanrum.

Personligen tar jag denna idé mycket längre i min kod. Jag skrev min egen titleize metod som tar hänsyn till små ord som “a” och “the”.