« Programmation Ruby/Types standards » : différence entre les versions
Contenu supprimé Contenu ajouté
+ correction orthographe/grammaire |
|||
Ligne 7 :
== Chaîne de caractères ==
En ruby les
=== Créer une
En ruby il existe une multitude de manière de créer une
maChaine = String.new("Une
Mais le moyen le plus courant de créer une
i = 100
Ligne 26 :
=> la valeur de i est \n #{i}
Dans une
puts 'un simple quote : \' qui ne ferme pas la
=> un simple quote : ' qui ne ferme pas la
Un autre moyen de créer une
%q!j'utilise le caractère \! pour ouvrir ou fermer la
%q*je peux utiliser n'importe quel caractère non alpha-numérique qui n'est pas dans la
Si nous avons plusieurs lignes de texte à écrire nous pouvons utiliser les caractères ''<<'' suivit d'un identifiant pour créer une
i = 100
maChaine <<DEBUT
une
i vaut #{i}
DEBUT
=> une
i vaut 100
i = 100
maChaine <<-'DEBUT'
une
i vaut #{i}
DEBUT
=> une
i vaut #{i}
Ligne 60 :
=== Comparaisons de chaînes ===
Les chaînes de caractères peuvent être comparées entre elles comme indiqués dans le chapitre [[Programmation Ruby/Controle#Expressions booléennes|Expressions booléennes]]
"abcdef" <=> "abcde" => 1
Ligne 87 :
"abcdef".casecmp("ABCDEF") => 0
=== Manipulation de
==== Taille d'une
===== length =====
''length'' permet de
"Bonjour le monde".length => 16
Ligne 119 :
"Bonjour le monde".rindex('o',9) => 4
"Bonjour le monde".rindex('o',-9) => 4
Ligne 127 :
===== * =====
L'opérateur de multiplication renvoie une
"Ho! " * 3 => Ho! Ho! Ho!
Ligne 142 :
L'opérateur ''[]'' permet de récupérer un ou plusieurs caractères faisant parti d'une chaîne.
Si un entier est passé en paramètre, l'opérateur renverra le code
maChaine = "Bonjour le monde"
maChaine[3] => 106 # Correspond au code
Si deux entiers sont passés en paramètres, l'opérateur renverra une sous-chaîne commençant à l'index passé en premier paramètre et de longueur indiquée par le second élément :
Ligne 162 :
On peut également utiliser une [[Programmation Ruby/Types standards#Expression rationnelle|expression rationnelle]], nous verrons cela plus en détail dans le chapitre correspondant.
L'opérateur ''[]='' permet de changer le contenu d'une
maChaine[3] = "V"
Ligne 170 :
puts maChaine => Bonjour tout le monde
Si deux entiers sont passés en paramètres, ruby remplacera la
maChaine[8,8] = "Roger"
Ligne 201 :
===== chomp, chomp!, chop et chop! =====
''chop'' et ''chop!'' permettent de supprimer le dernier caractère d'une chaîne,
"Bonjour\r\n".chop => "Bonjour"
Ligne 265 :
| p || symbole
|-
| s ||
|-
| u || nombre entier non signé (pas de signe)
Ligne 374 :
|}
La chaîne de format se compose d'un nombre de directives à piocher dans le tableau précédent,
Exemples :
Ligne 399 :
"1999zzz".succ => "2000aaa"
''upto'' itère à travers les valeurs successives d'une chaîne, jusqu'à arriver à la chaîne passée en paramètre. La
"<<aa>>".upto("<<bb>>") do
Ligne 435 :
==== each_byte ====
''each_byte'' permet d'itérer à travers la chaîne de caractères, octet par octet. La valeur qui sera envoyée au bloc sera le code
"bonjour".each_byte {|i| print i.to_s+" "} => 98 111 110 106 111 117 114
Ligne 472 :
=== Syntaxe ===
En ruby une valeur numérique peut s'écrire de différente forme,
Classiquement, une valeur numérique peut s'écrire comme une suite de chiffres séparés éventuellement par des caractères de soulignement ( ''_'') qui seront ignorés lors de l'interprétation. Une valeur négative est simplement préfixée par le signe moins (''-'') :
Ligne 480 :
-42 => -42
On peut également travailler dans une autre base en préfixant la valeur numérique. Ainsi en préfixant avec ''0'' (zéro) on indique l'utilisation d'un nombre en base octale, 0x pour un nombre en
0767 => 503
Ligne 493 :
4.class => Fixnum
Certains objets, comme l'objet ''String'', possèdent une méthode ''to_i'' qui renvoie si possible une valeur entière, et ''to_f'' qui renvoi si possible un
" 58_87".to_i => 5887
|