要約
ストリームバッファを扱うクラス。
目次
- 特異メソッド
- インスタンスメソッド
- privateメソッド
- protectedメソッド
- 定数
特異メソッド
new -> self[permalink][rdoc]-
CSV::StreamBufオブジェクトを生成します。
注意
- このメソッドを用いてCSV::StreamBufクラスのオブジェクトを生成しないで下さい。 必ず、CSV::StreamBufクラスを継承したクラスからインスタンス生成してください。
- 本メソッドからreadメソッドを呼び出すため、派生クラスではインスタンスメソッドreadを定義してください。
インスタンスメソッド
self[idx, n = nil] -> String[permalink][rdoc]-
ストリームバッファから部分文字列を取り出します。
- [PARAM] idx:
- 取り出す部分文字列のスタート位置
- [PARAM] n:
- 部分文字列のサイズ
drop(n) -> Fixnum[permalink][rdoc]-
ストリームからデータを削除します。
引数で与えられたサイズのデータをストリームの先頭から削除します。実際に削除されたデータサイズを戻り値として返します。
- [PARAM] n:
- 削除するデータのサイズ
注意
返り値として返す値は実際に削除したデータサイズと異なることがあることに注意すこと。
is_eos? -> bool[permalink][rdoc]-
ストリームの終端かどうかをtrue/falseで返します。
privateメソッド
add_buf -> bool[permalink][rdoc]-
ストリームバッファからデータを読み込み、true/falseを返します。
- [RETURN]
- データの読み込みに成功した場合にはtrueを、読み込み失敗した場合にはfalseを返します。
buf_size(idx) -> Fixnum[permalink][rdoc]-
idxで指定したバッファのデータサイズを取得します。
- [PARAM] idx:
- サイズを取得するデータのインデックス
idx_is_eos?(idx)[permalink][rdoc]-
引数idxで指定した位置がストリームの終端かどうかを判定します。
- [PARAM] idx:
- 判定を行う位置インデックス
rel_buf -> bool[permalink][rdoc]-
現在処理中のストリームバッファを解放する。
- [RETURN]
- 次のバッファが存在する場合にはtrueを、読み込み済みのバッファが存在しない場合にはfalseを返します。
protectedメソッド
read(size) -> [][permalink][rdoc]-
NotImplementedError例外を発生させます。
CSV::StreamBuf クラスを継承した場合は必ず、readメソッドをオーバーライドして下さい。その際の注意点として読み込み時に EndOfStream を検出した場合には nil を返してください。
terminate -> nil[permalink][rdoc]-
ストリームの解放処理を行います。本メソッドはその他のメソッドの内部から呼ばれます。
定数
BufSize[permalink][rdoc]-
ストリームバッファの1回の読み込みデータサイズ 1024 * 8 = 8192