Les chaînes de caractères en Ruby

Introduction aux chaînes de caractères

Une chaîne de caractères (ou string) est une suite d'un ou plusieurs caractères représentant un mot ou une phrase. Elle peut inclure des lettres, des chiffres ou divers symboles. En Ruby, les chaînes se créent en entourant une séquence de caractères avec des guillemets simples (') ou doubles ("). Il est important de noter que les chaînes en Ruby sont mutables, ce qui signifie qu'elles peuvent être modifiées.

Création de chaînes de caractères

Pour déclarer une chaîne de caractères, il suffira donc d'utiliser soit des guillemets simples soit des guillemets doubles :

puts 'Chaîne créée avec des guillemets simples.'
puts "Chaîne créée avec des guillemets doubles."

Les sorties seront respectivement : - Chaîne créée avec des guillemets simples. - Chaîne créée avec des guillemets doubles.

Interpolation de chaînes

En utilisant des guillemets doubles, il est possible d'utiliser directement les variables à l'intérieur de la chaîne grâce à l'interpolation. Par exemple :

favorite_color = 'bleu'
puts "Ma couleur préférée est #{favorite_color}."

Ceci affichera : Ma couleur préférée est bleu.

À contrario, si l'on utilise des guillemets simples, l'interpolation ne fonctionnera pas :

puts 'Impossible d interpoler #{favorite_color} avec des guillemets simples.'

Ce qui donnera : Impossible d interpoler #{favorite_color} avec des guillemets simples.

Les chaînes en tant qu'objets

Les chaînes de caractères sont considérées comme des objets en Ruby, et elles possèdent de nombreuses méthodes qui peuvent être invoquées. Par exemple, pour transformer une chaîne en majuscules :

greeting = "Bonjour, voisin"
greeting_shout = greeting.upcase
puts greeting_shout

La sortie sera : BONJOUR, VOISIN

Accéder aux éléments d'une chaîne

Pour accéder à un caractère dans une chaîne, il est possible d'utiliser des crochets ([]) avec des index ou des plages. Par exemple :

# Accéder au caractère à l'index 3
greeting = "Bonjour, monde!"
puts greeting[3]  # Affichera l

# Accède au dernier caractère avec un index négatif
puts greeting[-1]  # Affichera !

# Accéder à une plage de caractères
first_word = greeting[0..4]
puts first_word  # Affichera Bonjour

# On peut aussi utiliser un index de départ et le nombre d'éléments à extraire
second_word = greeting[7, 5]
puts second_word  # Affichera monde

Chaînes multi-lignes

Il est possible de créer des chaînes multi-lignes en Ruby avec plusieurs syntaxes comme "", %//, et <<STRING :

puts "Première chaîne"

puts %/Deuxième chaîne/

puts <

Les sorties de rajout des trois chaînes formeront une réponse brute :

Première chaîne

Deuxième chaîne
Troisième chaîne

Réplication de chaînes

Il est possible de répliquer une chaîne en utilisant l'opérateur *. L'opérateur est placé après la chaîne à dupliquer et est suivi du nombre de fois qu'elle doit être répétée :

tongue_twister = 'Sally vend des coquillages au bord de la mer '
puts tongue_twister * 5

Ce qui affichera :
Sally vend des coquillages au bord de la mer Sally vend des coquillages au bord de la mer ... (répété 5 fois)

Longueur des chaînes

En Ruby, pour obtenir le nombre de caractères d'une chaîne, il suffira d'utiliser la méthode length.