Chaine de caracteres (Ruby)

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Sujet Chaines de caractères en Ruby
Classe String
Console Irb
Voir aussi Structure de donnees (Ruby)

Manipulation des chaines de caractères (classe String) en Ruby : concaténation, interpolation, méthodes et définition de méthodes. Les exemples (préfixés >>) se saisissent dans Irb ou la Console (Rails).

Bases sur les chaines

# Commentaire : dièse en début de ligne
# ...

# Concaténation
"foo" + "bar"

# Interpolation
first_name = "Michael"
"#{first_name} Hartl"

last_name = "Hartl"
first_name + " " + last_name   # concaténation avec une espace
"#{first_name} #{last_name}"   # interpolation équivalente

# Impression (sans code retour)
puts "foo"     # put string

Objets et passage de message

Envoyer un message à une chaine revient à appeler une méthode définie pour cet objet :

"foobar".length     # passer le message "length" à la chaine
"foobar".empty?     # la chaine est-elle vide ?

s = "foobar"
if s.empty?
  "La chaine est vide"
else
  "La chaine n'est pas vide"
end

Opérateurs logiques : && (« et »), || (« ou »), ! (« pas »).

Conversion

nil.to_s
nil.empty?
nil.to_s.empty?     # chainage des messages

Définition de méthodes

def string_message(string)
  return "C'est une chaine vide !" if string.empty?
  return "La chaine n'est pas vide."
end

puts string_message("foobar")

Voir aussi