2012-03-01 17 views
2

私は、Rubyがどのようにファイルバッファリングを管理しているかについていくつかの洞察を得たいと思っています。私は答えのために他の場所を探しましたが、私は正しい質問をしていないと思います。 ファイルバッファの現在の状態を確認する方法はありますか?

はIRBのセッションでは、私は、読書のためのファイルを開く: somefile.txtの最初のラインアウト

puts f.gets 

プリント:

f = File.open('somefile.txt', 'r') 

このコマンドを使用します。 puts f.getsコマンドを繰り返すと、2行目のようになります。

私の質問は以下のとおりです。

  1. getsによって変更されているファイルバッファですか?
  2. 質問1の答えが「はい」の場合、バッファに残っているすべての行を表示する方法はありますか?
  3. 質問2の答えが「いいえ」の場合、getsには、読み込んだファイルの最終行のレコードがあると仮定しています。このラインインデックスの価値を見つける方法はありますか?

答えて

1

f.linenoは、現在の行番号 f.posがあなたにバイト

+0

完璧な答えで現在のオフセットを与えるあなたを与えるだろう、あなたのヨアンに感謝! –

関連する問題