Nel linguaggio Ruby,
nil e
false valgono falso, ogni altro oggetto, incluso
true, 0, significa vero.
Nil è trattato come un oggetto reale, che consente di chiamare o aggiungere dei metodi.
L'esempio sottostante
costrutti.rb illustra il costrutto
if else end. Per convenzione
if e
while non richiedono parentesi.
<span style="font-size:1.0em"># if else end
var = 5
if var > 4
puts "La variabile è più grande di 4"
puts "Posso inserire comandi multipli qui"
if var == 5
puts "È possibile annidare if else"
else
puts "Too cool"
end
else
puts "La variabile non è più grande di 5"
puts "Posso inserire comandi multipli qui"
end </span>
L’esempio che segue riguarda
elsif, e richiede di salvare il file come
elseif.rb:
<span style="font-size:1.0em"># esempio elseif
puts "Ciao, qual è il tuo nome?"
STDOUT.flush
name = gets.chomp
puts 'Ciao, ' + name + '.'
if name == 'Sara'
puts 'Che bel nome!!'
else
if name == 'Bea'
puts 'Un altro nome carino!'
end
end
# Esempio modificato con elseif
puts "Ciao, qual è il tuo nome?"
STDOUT.flush
name = gets.chomp
puts 'Ciao, ' + name + '.'
if name == 'Sara'
puts 'Che bel nome!!'
elsif name == 'Rice'
puts 'Un altro nome carino!'
end
puts "Ciao, qual è il tuo nome?"
STDOUT.flush
name = gets.chomp
puts 'Ciao, ' + name + '.'
# || è l'operatore logico or
if name == 'Sara || name == 'Bea'
puts 'Che bel nome!!'
end </span>
Gli operatori condizionali più comuni sono:
==, ! = >=, >, < =, > = .
Ecco un ciclo realizzato con
while:
<span style="font-size:1.0em"># Loops
var = 0
while var < 10
puts var.to_s
var += 1
end
</span>
Nel modulo successivo, dedicato alle
espressioni case, analizziamo alcuni comandi
if, mostrando una serie di condizioni ed eseguendo il primo comando corrispondente al vero. Per esempio, gli anni bisestili sono divisibili per 400, o divisibili per 4, ma non per 100. È da notare che il
case ritorna il valore dell'ultima espressione eseguita:
<span style="font-size:1.0em">year = 2000
leap = case
when year % 400 == 0: true
when year % 100 == 0: false
else year % 4 == 0
end
puts leap
# l'output è: true </span>
"Traduzione e adattamento a cura di Francesca Beatrice Cice. La versione originale del tutorial di
Satish Talim può essere trovata su
rubylearning.com"