Forum: Italian Ruby user group Lettura da file, mi aiutate a capire?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Cozza A. (Guest)
on 2009-01-05 18:17
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:

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

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

[CODE]
def leggi
  File.open @file, 'r' do |f|
    while line = f.gets
  STDOUT.puts line
    end
   end
end
[/CODE]

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

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.
This topic is locked and can not be replied to.