Ciao a tutti, ho da poco iniziato a studiare Ruby e facendo vari test mi sono imbattutto in qualcosa che non ho ancora perfettamente afferratto.
Questo blocco di codice funziona correttamente:
Mentre se lo "inglobo" all'interno di un metodocodice:File.open @file, 'r' do |f| while line = f.gets puts line end end
sono appunto obbligato a mettere STDOUT oppure $stdout prima di puts altrimenti ricevo un errore.codice:def leggi File.open @file, 'r' do |f| while line = f.gets STDOUT.puts line end end end
(Uninitialized Strem IOError)
Perchè solo "puts line" come nel primo caso non va bene.
Si tratta sicuramente di "questione di ambito" ma non ho capito bene il funzionamento.
Grazie mille.

Rispondi quotando