English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

判断条件 Ruby

Ruby offre diversi tipi di strutture condizionali comuni. In questo articolo, spiegheremo tutte le espressioni condizionali e i modificatori disponibili in Ruby.

Ruby if...else istruzione

sintassi

if condizionale [then]
      code...
[elsif condizionale [then]
      code...]...
[else
      code...]
fine

if l'espressione viene utilizzata per l'esecuzione condizionale. Valore false e nil Se è falso, tutti gli altri valori sono veri. Si prega di notare che Ruby utilizza elsif, non else if o elif.

se condizionale esegui se vero code. Se condizionale Se non è vero, eseguire la clausola else specificata code.

Di solito omitiamo la parola chiave then. Se si desidera scrivere l'espressione if completa su una singola riga, è necessario separare l'espressione condizionale dal blocco di codice con then. Ecco un esempio:

if a == 4 then a = 7 end

Esempio online

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-
 
x=1
if x > 2
   puts "x maggiore di 2"
elsif x <= 2 and x != 0
   puts "x è 1"
altrimenti
   puts "Impossibile conoscere il valore di x"
fine

Il risultato di esempio di output sopra:

x è 1

Ruby if modificatore

sintassi

code if condizione

il gruppo di modificatori if indica che l'espressione a sinistra dell'if viene eseguita solo se la condizione a destra dell'if è soddisfatta. Ossia se condizionale esegui se vero code.

Esempio online

#!/usr/bin/ruby
 
$debug=1
print "debug\n" if $debug

Il risultato di esempio di output sopra:

debug

Ruby unless istruzione

sintassi

unless condizionale [then]
   code
[else
   code ]
fine

l'espressione unless e l'istruzione if sono opposte, ossia se condizionale se falso, esegui code. Se condizionale esegui la clausola else specificata se vero code.

Esempio online

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-
 
x=1
unless x>2
   puts "x minore di 2"
 altrimenti
  puts "x maggiore di 2"
fine

Il risultato di output dell'esempio sopra è:

x minore di 2

Ruby unless modificatore

sintassi

code unless condizionale

se condizionale se falso, esegui code.

Esempio online

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-
 
$var = 1
print "1 -- questa riga viene output\n" if $var
print "2 -- questa riga non viene output\n" unless $var
 
$var = false
print "3 -- questa riga viene output\n" unless $var

Il risultato di esempio di output sopra:

1 -- questa riga viene output
3 -- questa riga viene output

Ruby caso istruzione

sintassi

case espressione
[when espressione [, espressione ...] [then]
   code ]...
[else
   code ]
fine

case esamina prima un espressione per fare la comparazione e poi scegliere la branca in base al risultato della comparazione.

utilizza ===operatore di confronto when specificato espressioneesegui se coincidente when Parte del contenuto.

Di solito omittiamo la parola chiave then. Se si desidera scrivere l'espressione when completa su una singola riga, è necessario separare l'espressione condizionale dal blocco di codice con then. Ecco un esempio:

when a == 4 then a = 7 end

Quindi:

case expr0
when expr1, expr2
   stmt1
when expr3, expr4
   stmt2
altrimenti
   stmt3
fine

In sostanza è simile a:

_tmp = expr0
if expr1 === _tmp || expr2 === _tmp
   stmt1
elsif expr3 === _tmp || expr4 === _tmp
   stmt2
altrimenti
   stmt3
fine

Esempio online

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-
 
$age = 5
caso $age
quando 0 .. 2
    puts "infante"
quando 3 .. 6
    puts "bambino"
quando 7 .. 12
    puts "child"
quando 13 .. 18
    puts "ragazzo"
altrimenti
    puts "altri segmenti di età"
fine

Il risultato di output dell'esempio sopra è:

bambino

Quando il parte "espressione" del caso viene omesso, viene calcolato il primo quando la parte condizionale è vera.

foo = false
bar = true
quu = false
 
caso
quando foo allora puts 'foo è vero'
quando bar allora puts 'bar è vero'
quando quu allora puts 'quu è vero'
fine
# 显示 "bar è vero"