View Single Post
Old 05-01-2009, 19:35   #1
CozzaAmara
Senior Member
 
L'Avatar di CozzaAmara
 
Iscritto dal: Nov 2008
Messaggi: 411
[Ruby] mi aiutate a capire?

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:

codice:

Codice:
File.open @file, 'r' do |f|
  while line = f.gets
    puts line
  end				
end
Mentre se lo "inglobo" all'interno di un metodo

codice:

Codice:
def leggi
  File.open @file, 'r' do |f|
    while line = f.gets
	STDOUT.puts line
    end				
   end		
end

sono appunto obbligato a mettere STDOUT oppure $stdout prima di puts altrimenti ricevo un errore.
(Uninitialized Strem IOError)

Perchè solo "puts line" come nel primo caso non va bene.

Grazie mille.
__________________
CozzaAmara è offline   Rispondi citando il messaggio o parte di esso