« Programmation Ruby/Contrôle » : différence entre les versions
Contenu supprimé Contenu ajouté
→Retry : +interwiki zh: |
Formulation + ortho + Mef |
||
Ligne 3 :
== Expressions booléennes ==
Une expression booléenne est toute expression qui
Ruby se veut objet, et de ce fait les opérateurs décrit ci-dessous, sont en réalités des méthodes d'instance. Cela signifie que le développeur devra implémenter lui même ces méthodes. Néanmoins certaines d'entre elle sont définies dans
Les exemples ici utilisent des objets "standards" pour un souci de clarté, ils peuvent être remplacés par des expressions
Ainsi :
42 == 42 => true
Ligne 16 :
=== defined? ===
defined? 42 => "expression"
Ligne 26 :
=== eql? ===
42.eql?(18) => true
42.eql?(42.0) => false #En effet 42 est un entier, 42.0 un
=== equal? ===
a = "mon objet"
Ligne 44 :
=== == ===
42 == 42 => true
Ligne 52 :
=== != ===
42 != 42 => false
Ligne 60 :
=== <=> ===
2 <=> 2 => 0
Ligne 67 :
42 <=> "42" => nil
42 <=> 42.0 => 0 # contrairement à eql?, c'est la valeur qui est comparée
Pour deux valeurs numériques cet opérateur retourne donc le signe de la différence entre celles-ci.
=== < et <= ===
42 < 43 => true
42 < 42 => false
42 <= 42 => true
"abcdef" < "abzd" => true #la comparaison entre
"abzd" < "abcdef" => false
=== > et >= ===
42 > 43 => false
42 > 42 => true
42 >= 42 => true
"abcdef" > "abzd" => false #la comparaison entre
"abzd" > "abcdef" => true
=== not et ! ===
not true => false
(!false) => true
(!(2 < 10)) => false
Ligne 103 ⟶ 104 :
=== and et && ===
true and false => false
true and true => true
Dans un souci d'optimisation,
=== or et || ===
true or false => true
Ligne 120 ⟶ 121 :
== Les expressions conditionnelles ==
Une expression conditionnelle sert à réagir en fonction d'un
=== Expression IF...THEN...ELSE ===
Ligne 235 ⟶ 236 :
== Les boucles et les itérateurs ==
Les boucles et itérateurs
=== While/Until ===
Ligne 267 ⟶ 268 :
4
Dans cet
i = 12
Ligne 294 ⟶ 295 :
=== loop ===
''loop'' ressemble à la structure while, mais ne prend pas d'expression
while(true)
Le seul moyen de quitter la boucle est d'utiliser l'instruction break :
Ligne 331 ⟶ 332 :
end
Pour les
for ligne in "première\ndeuxième\ntroisième"
puts ligne
Ligne 352 ⟶ 353 :
=== each_byte et each_line ===
Les
"abcdef".each_byte{ |caractere| printf "%c\n", caractere }
Ligne 363 ⟶ 364 :
Et '''each_line''' (chaque ligne) qui parcoure les lignes séparés par le retour chariot :
["
=>
suite
autre
Ligne 370 ⟶ 371 :
=== times ===
Fonction typique à Ruby, la méthode d'itération des classes d'entiers
3.times{puts "texte"}
Ligne 385 ⟶ 386 :
=== Boucles implicites ===
Le parcours des éléments d'un tableau dans
puts [ "élément 1", "élément 2", "élément 3" ]
Ligne 392 ⟶ 393 :
élément 3
On peut de la
Exemple tiré du site officiel de Ruby
Ligne 414 ⟶ 415 :
=== Break ===
Nous avons déjà vu ''break'' qui permet d'interrompre l'
i = 0
Ligne 430 ⟶ 431 :
=== Redo ===
''redo'' va
for i in 1..4
print "#{i} "
Ligne 443 ⟶ 444 :
3 3
4 4
La variable i étant définie localement (dans la boucle), cela ne change pas le déroulement par rapport à la liste globale, mais la variable est bien vue comme ayant une valeur différente de 2
=== Next ===
''next'' va aller à la fin de la boucle, puis
i=0
Ligne 475 ⟶ 476 :
...
[[en:Ruby Programming/Syntax/Control Structures]]
|