Branche conditionnelle de Ruby. if, opérateur conditionnel (opérateur ternaire), sauf si, cas

Valeur booléenne en Ruby

Dans Ruby, seul faux ou nil est faux, et tout le reste est vrai, y compris 0 et les chaînes vides.

faux vrai
false, nil autre que ça( true,0 ,Chaîne de caractères vide, etc.)

if Effectue le traitement spécifié lorsque l'expression conditionnelle est mise en correspondance.

syntaxe

si expression[then]
formule...
[expression elsif[then]
formule... ]
...
[else
formule... ]
end

[] Est une pièce facultative.

Soyez prudent si vous avez de l'expérience avec d'autres langues, car c'est elsif (sans e) au lieu de els ** e ** if. Le dernier els ** e ** nécessite e.

Exemple de phrase

score = 90

if score == 100
  puts 'S'
elsif score >= 90
  puts 'A'
elsif score >= 80
  puts 'B'
else
  puts 'C'
end

#Exemple utilisant alors
if score == 100 then
  puts 'S'
end

Opérateur conditionnel (opérateur ternaire)

Démontre sa puissance lorsque les conditions de jugement et de traitement sont courtes! Ce sera plus facile à voir.

syntaxe

Équation 1?Équation 2:Équation 3
#conditions?En cas de ◯:En cas de ×

Exemple de phrase

checked = true
puts checked ? "Déjà" : "Pas encore"

#Même sens que la phrase suivante.
# puts (if checked then  "Déjà" else "Pas encore" end)

unless

À l'opposé de if. Si non. Les phrases qui peuvent être écrites avec sauf peuvent également être écrites avec if, afin que vous puissiez écrire comme vous le souhaitez.

Notez qu'il sera difficile de comprendre si cela devient un double déni. Sauf si et la lisibilité du code dans Ruby | TechRacho-Engineer's "?" To "!" - | BPS Co., Ltd. )

syntaxe

Il n'y a pas d'elsif. sinon peut être omis.

sauf expression[then]
formule...
[else
formule... ]
end

Exemple de phrase

unless baby?
  #L'expression conditionnelle est fausse(false)Dans le cas de
  puts "manger du riz"
else
  puts "Boire du lait"
end

case Comme guide pour une utilisation correcte avec if, je pense que ce cas est plus adapté aux conditions parallèles, mais qu'en est-il?

Je pensais que c'était la même chose que l'instruction switch, mais cela semble être strictement différent ... [Je voudrais dire quelques mots à ceux qui pensent que le cas Ruby est une instruction switch de 〇〇 (nom de la langue)](https://melborne.github.io/2013/02/25/i- veux-dire-quelque chose-sur-le-cas-rubys /)

syntaxe

case [formule]
[quand l'expression[,formule] ...[, `*'formule] [then]
formule..]..
[when `*'formule[then]
formule..]..
[else
formule..]
end

Exemple de phrase

os = "macOS"

case os
when "Windows"
  #En traitement
when "macOS", "Unix"
  #Les conditions pour effectuer le même traitement peuvent être décrites ensemble
when "Linux"
  #En traitement
else
  #En traitement
end

référence

Structure de contrôle (manuel de référence Ruby 2.7.0) Expression d'opérateur (manuel de référence Ruby 2.7.0)

Recommended Posts

Branche conditionnelle de Ruby. if, opérateur conditionnel (opérateur ternaire), sauf si, cas
Traitement des branches conditionnelles Ruby
Branche conditionnelle Ruby (cas, while, boucle infinie, rupture)
Kotlin n'a pas d'opérateur ternaire (opérateur conditionnel)
[Introduction à Java] Branchement conditionnel (instruction if, instruction if-else, instruction else if, opérateur ternaire, instruction switch)
Branche conditionnelle Java
Opérateur ternaire de référence
[Java] Branche conditionnelle
[Ruby] Lorsque l'opérateur conditionnel continue deux fois (ou plus)