Benvenuti in questa nuova puntata della Guida al Ruby, un linguaggio semplice da imparare e potente. Oggi parleremo delle variabili e delle conversioni tra formati.
Le variabili sono dei contenitori dove si possono salvare stringhe (come ‘ciao’, ‘bello’ o ‘5’), numeri (4 , 3.5 ) o anche valori vero/falso.
Per esempio
a = "ciao"
oppure a = gets.chomp
Il primo codice stabilisce che a è uguale a “ciao”, il secondo all’input dell’utente privato dell’invio finale. Ad esempio vi allego un programma che prende il nome dell’utente e lo saluta:
nome = gets.chomp
puts "Ciao " + nome + ", hai un bellissimo nome!"
E adesso proviamo a fare addizioni con un numero scelto dall’utente e il 5:
puts "inserisci un numero da aggiungere a 5"
b = gets.chomp
c = 5 + b
puts c
Eseguiamolo. Il Ruby ci risponderà con:
a.rb:3:in `+': String can't be coerced into Fixnum (TypeError)
from a.rb:3:in `<main>'
Errore! Infatti gets prende dall’utente stringhe, non numeri. Per il Ruby questa addizione equivale a sommare 5 a “gallina”, per intenderci. E come fare allora? Convertiamo la stringa in un intero con .to_i
puts "inserisci un numero da aggiungere a 5"
b = gets.chomp
c = 5 + b.to_i
puts c
Ecco, ora funziona. Il Ruby può finalmente esporci una addizione tra numeri. Comunque la b rimane ancora ‘5’, questi metodi non modificano la variabile. Se volete prendere direttamente numeri potete usare questo codice:
puts "inserisci un numero da aggiungere a 5"
b = gets.chomp.to_i
c = 5 + b
puts c
Questa conversione, se applicata ad un decimale, lo arrotonda sempre per difetto. Ad esempio 9.99999999 sarà 9, non 10.
Esistono altre conversioni, vediamone alcune:
Numero decimale
Se volete ottenere un decimale da un intero o una stringa potete usare .to_f
puts "inserisci un numero da aggiungere a 5"
b = gets.chomp.to_f
c = 5 + b
puts c
Stringa
Questo è ciò che fa puts prima di stampare a monitor ciò che non è una stringa
puts "questa e' la lezione numero " + 3.to_s
Senza il to_s non funzionerebbe.
Ci vediamo alla prossima 🙂
ESERCIZI:
1) Crea un programma che, preso un numero, lo sommi a 10, lo moltiplichi per se stesso e ne mostri la versione decimale
2) Crea un programma che saluta l’utente scrivendo tante volte il suo nome
3) Crea un software che faccia le proporzioni (quelle in stile a : b = x : d) e che dia un risultato decimale.