[ruby-it] direttamente a fine file?

Luigi Panzeri aka Matley matley a muppetslab.org
Mer 18 Apr 2007 11:39:31 CEST


Mauro Sanna <mauro.sanna a comune.cagliari.it> writes:

>
> Com'e' che non sono riuscito a trovare questo metodo last?
> Dov'e' la doc per queste cose?
>

File.readlines restituisce un Array, tra i metodi di un array c'é
last. Nella documentazione degli Array c'é la descrizione del metodo
last 

http://www.ruby-doc.org/core/classes/Array.html#M002188

fermo restando che quando hai un oggetto obj, anche se non conosci la
sua classe (obj.class cmq) puoi sempre fare obj.methods per vedere
cosa ci puoi fare.

>
> Infatti, non c'e' un modo per puntare direttamente a fine file?
>

La classe File specializza IO. In quest'ultima trovi un po' di metodi
di basso livello. Tralasciando il problema dei caratteri multibyte:


f = File.new("/Users/matley/filename.txt")
# ignoriamo l'ultimo carattere perche' potrebbe essere un newline
f.seek(-2, IO::SEEK_END)

while (f.getc.chr != "\n")
      f.seek(-2, IO::SEEK_CUR)
end
puts f.readline


Maggiori informazioni sulla lista Ml