# Esercizio di programmazione

**URL:** <https://www.ruby-forum.com/t/esercizio-di-programmazione/237688>\
**Category:** IT\
**Created:** [November 24, 2013, 4:53pm UTC](https://www.ruby-forum.com/t/esercizio-di-programmazione/237688 "2013-11-24T16:53:23Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Detlef\_R](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/58f4c7/32.png) [@Detlef\_R](https://www.ruby-forum.com/u/Detlef_R)\
**Post date:** [November 24, 2013, 4:53pm UTC](https://www.ruby-forum.com/t/esercizio-di-programmazione/237688/1 "2013-11-24T16:53:23Z")

</div>

Ciao a tutti intanto voglio ringraziare tutto il forum per gli aiuti.  
Volevo chiedervi un altro  
help dal momento che continuo a cimentarmi con il fantastico mondo  
della programmazione: il dubbio riguarda l’utilizzo del metodo “rand”.  
L’esercizio è il seguente: “• Scrivi un programma “Nonna Sorda”.  
Qualsiasi cosa tu dica alla nonna (qualsiasi cosa tu scriva al  
programma), lei dovrebbe rispondere con un EH?! ALZA LA VOCE,  
FIGLIUOLO!, a meno che tu non l’abbia gridato (scritto in lettere  
maiuscole). Se gridi allora può sentirti (o almeno così pensa) e allora  
ti risponde: NO, NON DAL 1938!. Per rendere questo programmino davvero  
credibile, fai in modo che la nonna gridi un anno differente tutte le  
volte; magari un numero casuale tra il 1930 e il 1950.” estrapolato da  
[http://corsorubyonrails.com](http://corsorubyonrails.com) Il problema mi si pone quando devo mettere  
in atto la seconda parte cioè appunto per far scegliere alla “nonna” un  
numero compreso tra il 1930 e 1950.  
Io lo provo a scrivere in questa maniera:  
puts ‘Dimmi’  
frase = gets.chomp  
if frase == frase.downcase  
puts ‘Eh alza la voce figliuolo!’  
else frase == frase.upcase  
anno = rand(1930…1950)  
puts ‘NO NON DAL ’ + anno  
end  
E mi viene restituito il seguente errore in esecuzione:  
calc.rb:7:in ‘+’: no implicit conversion of Fixnum into String  
(TypeError) from calc.rb:7:in’ ’  
Vi ringrazio ancora per l’attenzione e mi scuso del disturbo.

---

<div class="post-metadata">

**Author:** ![raffaele\_n](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/e99b99/32.png) [@raffaele\_n](https://www.ruby-forum.com/u/raffaele_n)\
**Post date:** [November 24, 2013, 5:09pm UTC](https://www.ruby-forum.com/t/esercizio-di-programmazione/237688/2 "2013-11-24T17:09:13Z")

</div>

Loperatore + non esegue il cast, ovvero la conversione delle variabili.  
Io ti consiglio di usare quando possibile linterpolazione, quindi:

puts NO, NON DAL #{anno}

In alternativa, usa #to\_s

puts NO, NON DAL + anno.to\_s

ma a me non piace 🙂

Buono studio!

Luca P.  
removed\_email\_address@domain.invalid

---

<div class="post-metadata">

**Author:** ![raffaele\_n](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/e99b99/32.png) [@raffaele\_n](https://www.ruby-forum.com/u/raffaele_n)\
**Post date:** [November 24, 2013, 6:52pm UTC](https://www.ruby-forum.com/t/esercizio-di-programmazione/237688/3 "2013-11-24T18:52:43Z")

</div>

Ti ringrazio ho risolto!
