Accueil - Forum - Bibliothèque de ressources
____

Chaines de caractères.

1) Taille d'une chaine

La taille est tout simplement le nombre de caractère présent dans la chaine. La taille d'une chaine est le même principe qu'un tableau.

Code Rubyphrase = "Liberez votre creativite"
puts phrase.size        # Affiche "24"
puts phrase.length      # Affiche "24" aussi

Les deux méthodes "size" et "length" sont indentiques.

Vous pouvez savoir avec "empty?" si la taille est égal à 0 ... qu'il y a aucun caractère. Si c'est le cas, la méthode retourne un booléen "true".

Code Rubyphrase1 = "Liberez votre creativite"
phrase2 = ""
phrase1.empty?  # => false
phrase2.empty?  # => true

2) Concaténation

Vous savez que pour concaténer une chaine de caractère, il suffit de faire :

Code Rubyphrase = "Liberez " + "votre " + "creativite"
 puts phrase # Affiche "Liberez votre creativite"

mais vous pouvez faire aussi pas d'autres moyens :

Code Rubyphrase = "Liberez " << "votre " << "creativite"
phrase = "Liberez ".concat "votre " << "creativite"
phrase = ("Liberez ".concat("votre ")).concat("creativite")

En appelant "<<" vous pouvez faire des concaténations mais aussi avec la méthode "concat()". Celle ci permet de concaténer la chaine de caractères avec celle qui est entre parenthèse.

Il est possible aussi geler une chaine de caractères afin qu'elle ne puisse pas être concaténer :

Code Rubyphrase = phrase = "Liberez votre creativite"
phrase.freeze
puts phrase.frozen?     # Affiche "true"
phrase = phrase << " !" # On ajoute "!" à la chaine
puts phrase                             # Erreur car la chaine est gelée

On géle la chaine avec la méthode "freeze" ... vous ne pouvez plus maintenant concaténer :). La méthode "frozen?" vérifie si elle est bien gelée. Si oui, la méthode renvoie une booléen "true"

3)Manipuler les caractères

Vous pouvez extraire et accéder aux caractères de la chaine. Par exemple :

Code Rubyphrase = "Liberez votre creativite"
puts phrase[6] # Affiche "122"

On veut prendre le caractère à la position 6 (en commençant à partir de 0). C'est la lettre "z". La méthode nous a renvoyé le code ASCII du caractère "z" donc 122.

Pour avoir le caractère :

Code Rubyphrase = "Liberez votre creativite"
puts phrase[6].chr # Affiche "z"

on utilise la méthode "chr".

Vous pouvez prendre plusieurs caractères par des intervalles :

Code Rubyphrase = "Liberez votre creativite"
puts phrase[0, 7] # Affiche "Liberez"
puts phrase[0..7] # Affiche "Liberez" aussi

Pour faire le cas contraire de "chr", vous utilisez "index" :

Code Rubyphrase = "Liberez votre creativite"
puts phrase.index("z") # Affiche "6"

4) Jouer avec les chaines de caractères
a) Insérer une chaine dans une autre :

Code Ruby"Libere votre creativite".insert(6, "z")  # => "Liberez votre creativite"

Vous pouvez insérez grâce à "insert" une chaine de caractères dans une autre. Mettez entre parenthèses le caractère à positionner dans la chaine. Ici, on postionne la lettre "z" à la position 6

b) Supprimer des caractères.

Code Ruby"Liberez votre creativite".delete("t")  # => "Liberez vore creaivie"

"delete" permet de supprimer un caractère défini entre parenthèse. (ça peut être une chaine aussi)

c) Remplacer une chaine par une autre

Code Ruby"Liberez votre creativite".gsub("creativite", "imagination")  # => "Liberez votre imagination"

"gsub" permet de remplacer une chaine de caractère (ici, "creativite") par une autre ("imagination")

d) Changer le sens de la chaine.

Code Ruby"Liberez votre creativite".reverse  # => "etivitaerc ertov zerebiL"

"reverse" permet de changer le sens. On lira donc la chaine de droite vers la gauche.

e) Convertir en majuscules et en minuscules

Code Ruby"liberez votre creativite".capitalize  # => "Liberez votre creativite"
 "LIBEREZ votre creativite".downcase  # => "liberez votre creativite"
 "liberez votre creativite".upcase  # => "LIBEREZ VOTRE CREATIVITE"
 "LIBEREZ votre creativite".swapcase  # => "liberez VOTRE CREATIVITE"

Nous avons ici plusieurs méthodes :
- "capitalize" permet de mettre en majuscule la premier lettre de la ligne
- "downcase" permet de tout mettre en miniscules
- "upcase" permet de tout mettre en majuscules
- "swapcase" permet de mettre les caractères minuscules en majuscules et inversement les majuscules en minuscules.

f) Incrémenter

L'incrémentation permet de savoir la valeur suivante d'un caractère. La méthode pour cela est "next" :

Code Ruby"b".next # => "c"
 "fezff".next # => "fezfg"
 "z".next # => aa
 "z".next.next.next.next # => "ad"

la méthode "upto" permet d'incrémenter très rapidement et facilement comme une boucle :

Code Ruby"a".upto("e") {|i| print i} # Affiche "abcde"

"upto" part du caractère "a" jusqu'à "e"

Informations
Page vue 4360 fois | Auteur : Samarium

RPG Creative version 5 - Libérez votre créativité ! ; Mai 2005 - Mai 2012
0.076s - Optimisé pour une résolution 1024*728 - Tous droits réservés.

Contact - Partenaires - Historique - A propos