PDA

View Full Version : [Ruby] mi aiutate a capire?


CozzaAmara
05-01-2009, 19:35
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:

File.open @file, 'r' do |f|
while line = f.gets
puts line
end
end


Mentre se lo "inglobo" all'interno di un metodo

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
06-01-2009, 14:03
Ok risolto, avevo esteso per errore la classe "IO" sovrascrivendo il metodo Kernel#puts.

Grazie lo stesso. ;)