るりまサーチ (Ruby 1.8.7)

最速Rubyリファレンスマニュアル検索!
94件ヒット [1-94件を表示] (0.013秒)
トップページ > バージョン:1.8.7[x] > クラス:IO[x]

ライブラリ

キーワード

検索結果

IO#<<(object) -> self (2)

object を出力します。object が文字列でない時にはメソッ ド to_s を用いて文字列に変換します。

object を出力します。object が文字列でない時にはメソッ
ド to_s を用いて文字列に変換します。

以下のような << の連鎖を使うことができます。

STDOUT << 1 << " is a " << Fixnum << "\n"

@param object 出力したいオブジェクトを与えます。

@raise Errno::EXXX 出力に失敗した場合に発生します。

IO#binmode -> self (2)

ストリームをバイナリモードにします。MSDOS などバイナリモードの存在 する OS でのみ有効です。そうでない場合このメソッドは何もしません。

ストリームをバイナリモードにします。MSDOS などバイナリモードの存在
する OS でのみ有効です。そうでない場合このメソッドは何もしません。

バイナリモードから通常のモードに戻す方法は再オープンしかありません。

@raise Errno::EXXX モードの変更に失敗した場合に発生します。

IO#bytes -> Enumerable::Enumerator (2)

自身を 1 バイトずつ整数としてイテレートするような Enumerable::Enumerator オブジェクトを生成して返します。

自身を 1 バイトずつ整数としてイテレートするような
Enumerable::Enumerator オブジェクトを生成して返します。

"hello".bytes.to_a #=> [104, 101, 108, 108, 111]

IO#chars -> Enumerable::Enumerator (2)

self に含まれる文字を一文字つつブロックに渡して評価します。

...設定してください。

ブロックを省略した場合は各文字について繰り返す Enumerable::Enumerator
を返します。

@raise IOError self が読み込み用にオープンされていない場合に発生します。

f = File.new("testfile")
f.each_char {|c| print c, '...

IO#chars {|c| ... } -> self (2)

self に含まれる文字を一文字つつブロックに渡して評価します。

...設定してください。

ブロックを省略した場合は各文字について繰り返す Enumerable::Enumerator
を返します。

@raise IOError self が読み込み用にオープンされていない場合に発生します。

f = File.new("testfile")
f.each_char {|c| print c, '...

絞り込み条件を変える

IO#clone -> IO (2)

レシーバと同じ IO を参照する新しい IO オブジェクトを返します。 参照しているファイル記述子は dup(2) されます。

...シーバと同じ IO を参照する新しい IO オブジェクトを返します。
参照しているファイル記述子は dup(2) されます。

clone の際に self は一旦 IO#flush されます。
フリーズした IO の clone は同様にフリーズされた IO を返しますが、...
...dup は内容の等しいフリーズされていない IO を返します。

@raise IOError 既に close されていた場合に発生します。...

IO#close -> nil (2)

入出力ポートをクローズします。

...ポートをクローズします。

以後このポートに対して入出力を行うと例外 IOError が発生しま
す。ガーベージコレクトの際にはクローズされていない IO ポートはクロー
ズされます。
self がパイプでプロセスにつながっていれ...
...ば、そのプロセスの終
了を待ち合わせます。

@raise Errno::EXXX close に失敗した場合に発生します。

@raise IOError 既に close されていた場合に発生します。...

IO#close_read -> nil (2)

読み込み用の IO を close します。主にパイプや読み書き両用に作成し た IO オブジェクトで使用します。

...読み込み用の IO を close します。主にパイプや読み書き両用に作成し
IO オブジェクトで使用します。

@raise IOError 自身が読み込み用にオープンされていなければ発生します。

@raise Errno::EXXX close に失敗した場合に発生し...

IO#close_write -> nil (2)

書き込み用の IO を close します。

...書き込み用の IO を close します。

@raise IOError 自身が書き込み用にオープンされていなければ発生します。

@raise Errno::EXXX close に失敗した場合に発生します。...

IO#closed? -> bool (2)

ポートがクローズされている時に真を返します。

ポートがクローズされている時に真を返します。

絞り込み条件を変える

IO#dup -> IO (2)

レシーバと同じ IO を参照する新しい IO オブジェクトを返します。 参照しているファイル記述子は dup(2) されます。

...シーバと同じ IO を参照する新しい IO オブジェクトを返します。
参照しているファイル記述子は dup(2) されます。

clone の際に self は一旦 IO#flush されます。
フリーズした IO の clone は同様にフリーズされた IO を返しますが、...
...dup は内容の等しいフリーズされていない IO を返します。

@raise IOError 既に close されていた場合に発生します。...

IO#each(rs = $/) -> Enumerable::Enumerator (2)

IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として 与えられたブロックを実行します。

...
IO
の現在位置から 1 行ずつ文字列として読み込み、それを引数として
与えられたブロックを実行します。

ブロックが与えられなかった場合は、自身から生成した
Enumerable::Enumerator オブジェクトを返します。


@param rs 行の...
...指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。

@raise IOError 自身が読み込み用にオープンされていなければ発生します。

@see $/, IO#gets...

IO#each(rs = $/) {|line| ... } -> self (2)

IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として 与えられたブロックを実行します。

...
IO
の現在位置から 1 行ずつ文字列として読み込み、それを引数として
与えられたブロックを実行します。

ブロックが与えられなかった場合は、自身から生成した
Enumerable::Enumerator オブジェクトを返します。


@param rs 行の...
...指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。

@raise IOError 自身が読み込み用にオープンされていなければ発生します。

@see $/, IO#gets...

IO#each_byte -> Enumerable::Enumerator (2)

IO の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。

...
IO
の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。

ブロックが与えられなかった場合は、自身から生成した
Enumerable::Enumerator オブジェクトを返します。


@raise IOError 自身が読み込み...

IO#each_byte {|ch| ... } -> self (2)

IO の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。

...
IO
の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。

ブロックが与えられなかった場合は、自身から生成した
Enumerable::Enumerator オブジェクトを返します。


@raise IOError 自身が読み込み...

絞り込み条件を変える

IO#each_char -> Enumerable::Enumerator (2)

self に含まれる文字を一文字つつブロックに渡して評価します。

...設定してください。

ブロックを省略した場合は各文字について繰り返す Enumerable::Enumerator
を返します。

@raise IOError self が読み込み用にオープンされていない場合に発生します。

f = File.new("testfile")
f.each_char {|c| print c, '...

IO#each_char {|c| ... } -> self (2)

self に含まれる文字を一文字つつブロックに渡して評価します。

...設定してください。

ブロックを省略した場合は各文字について繰り返す Enumerable::Enumerator
を返します。

@raise IOError self が読み込み用にオープンされていない場合に発生します。

f = File.new("testfile")
f.each_char {|c| print c, '...

IO#each_line(rs = $/) -> Enumerable::Enumerator (2)

IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として 与えられたブロックを実行します。

...
IO
の現在位置から 1 行ずつ文字列として読み込み、それを引数として
与えられたブロックを実行します。

ブロックが与えられなかった場合は、自身から生成した
Enumerable::Enumerator オブジェクトを返します。


@param rs 行の...
...指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。

@raise IOError 自身が読み込み用にオープンされていなければ発生します。

@see $/, IO#gets...

IO#each_line(rs = $/) {|line| ... } -> self (2)

IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として 与えられたブロックを実行します。

...
IO
の現在位置から 1 行ずつ文字列として読み込み、それを引数として
与えられたブロックを実行します。

ブロックが与えられなかった場合は、自身から生成した
Enumerable::Enumerator オブジェクトを返します。


@param rs 行の...
...指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。

@raise IOError 自身が読み込み用にオープンされていなければ発生します。

@see $/, IO#gets...

IO#eof -> bool (2)

ストリームがファイルの終端に達した場合、true を返します。そうでない場合、false を返します。

...ックします。

r, w = IO.pipe
Thread.new { sleep 10; w.close }
r.eof? #=> 10秒ブロックしてから true を返す。

r, w = IO.pipe
Thread.new { sleep 10; w.puts "a" }
r.eof? #=> 10秒ブロックしてから true を返す。

r, w = IO.pipe
r.eof? # 永久に...
...ブロックします。

eof, eof? は入力バッファにデータを読み込むので、IO#sysread と同時に使うと正常に
動作しません。

@raise IOError 自身が読み込み用にオープンされていなければ発生します。...

絞り込み条件を変える

IO#eof? -> bool (2)

ストリームがファイルの終端に達した場合、true を返します。そうでない場合、false を返します。

...ックします。

r, w = IO.pipe
Thread.new { sleep 10; w.close }
r.eof? #=> 10秒ブロックしてから true を返す。

r, w = IO.pipe
Thread.new { sleep 10; w.puts "a" }
r.eof? #=> 10秒ブロックしてから true を返す。

r, w = IO.pipe
r.eof? # 永久に...
...ブロックします。

eof, eof? は入力バッファにデータを読み込むので、IO#sysread と同時に使うと正常に
動作しません。

@raise IOError 自身が読み込み用にオープンされていなければ発生します。...

IO#expect(pattern, timeout = 9999999) -> Array | nil (2)

レシーバから指定したパターンを読み込むまで待ちます。

...定したパターンを読み込むまで待ちます。

このメソッドがブロックなしで呼ばれた場合、まずレシーバである
IO
オブジェクトから pattern にマッチするパターンが読みこまれる
まで待ちます。

このメソッドをブロック付き...

IO#expect(pattern, timeout = 9999999) {|array| ... } -> nil (2)

レシーバから指定したパターンを読み込むまで待ちます。

...定したパターンを読み込むまで待ちます。

このメソッドがブロックなしで呼ばれた場合、まずレシーバである
IO
オブジェクトから pattern にマッチするパターンが読みこまれる
まで待ちます。

このメソッドをブロック付き...

IO#fcntl(cmd, arg = 0) -> Integer (2)

IOに対してシステムコール fcntl を実行します。 機能の詳細は fcntl(2) を参照してください。 fcntl(2) が返した整数を返します。

...
IO
に対してシステムコール fcntl を実行します。
機能の詳細は fcntl(2) を参照してください。
fcntl(2) が返した整数を返します。

@param cmd IO に対するコマンドを、添付ライブラリ fcntl が提供している定数で指定します。

@param...
...k した構造体だとみなして渡します。
arg が nil か false の場合には 0を、true の場合には 1 を渡します。

@raise Errno::EXXX fcntl の実行に失敗した場合に発生します。

@raise IOError 既に close されている場合に発生します。...

IO#fileno -> Integer (2)

ファイル記述子を表す整数を返します。

...ファイル記述子を表す整数を返します。

@raise IOError 既に close されている場合に発生します。...

絞り込み条件を変える

IO#flush -> self (2)

IO ポートの内部バッファをフラッシュします。

...
IO
ポートの内部バッファをフラッシュします。

@raise IOError 自身が書き込み用にオープンされていなければ発生します。

@raise Errno::EXXX fflush(3) が失敗した場合に発生します。...

IO#fsync -> 0 | nil (2)

書き込み用の IO に対して、システムコール fsync(2) を実行します。IO#flush を行ったあと、(OSレベルで)まだディスクに 書き込まれていないメモリ上にあるデータをディスクに書き出します。

...書き込み用の IO に対して、システムコール fsync(2)
を実行します。IO#flush を行ったあと、(OSレベルで)まだディスクに
書き込まれていないメモリ上にあるデータをディスクに書き出します。

成功すれば 0 を返します。
fsync(2...
...) がサポートされていない場合は nil を返します。

@raise Errno::EXXX 失敗した場合に発生します。

@raise IOError 既に close されている場合に発生します。...

IO#getbyte -> Integer | nil (2)

IO から1バイトを読み込み整数として返します。 既に EOF に達していれば nil を返します。

...
IO
から1バイトを読み込み整数として返します。
既に EOF に達していれば nil を返します。

f = File.new("testfile")
f.getbyte #=> 84
f.getbyte #=> 104...

IO#getc -> Integer | nil (2)

IO ポートから 1 文字読み込んで、その文字に対応する Fixnum を 返します。EOF に到達した時には nil を返します。

...
IO
ポートから 1 文字読み込んで、その文字に対応する Fixnum を
返します。EOF に到達した時には nil を返します。

IO
#readchar との違いは EOF での振る舞いのみです。

@raise IOError 自身が読み込み用にオープンされていなければ...
...発生します。

f = File.new("testfile")
f.getc #=> 84
f.getc #=> 104
f.read
f.getc #=> nil

@see IO#readchar...

IO#gets(rs = $/) -> String | nil (2)

一行読み込んで、読み込みに成功した時にはその文字列を返します。 EOF に到達した時には nil を返します。

...その文字列を返します。
EOF に到達した時には nil を返します。

読み込んだ文字列を変数 $_ にセットします。
IO
#readline との違いは EOF での振る舞いのみです。


@param rs 行の区切りを文字列で指定します。rs に nil を指定す...
...します。
空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。

@raise IOError 自身が読み込み用にオープンされていなければ発生します。

f = File.new("oneline_file")
f.gets...
...#=> "This is line one\n"
$_ #=> "This is line one\n"
f.gets #=> nil
$_ #=> nil

@see $/, IO#readline...

絞り込み条件を変える

IO#ioctl(cmd, arg = 0) -> Integer (2)

IO に対してシステムコール ioctl を実行し、その結果を返します。 機能の詳細は ioctl(2) を参照してください。

...
IO
に対してシステムコール ioctl を実行し、その結果を返します。
機能の詳細は ioctl(2) を参照してください。

@param cmd IO に対するコマンドを整数で指定します。どのようなコマンドが使えるかはプラットフォームに依存し...
...。整数の時にはその値を ioctl に渡します。
文字列の場合には Array#pack した構造体だとみなして渡します。
arg が nil か false の場合には 0を、true の場合には 1 を渡します。

@raise IOError 既に close されている場...

IO#isatty -> bool (2)

入出力ポートがttyに結合している時、真を返します。そうでない場合 false を返します。

...入出力ポートがttyに結合している時、真を返します。そうでない場合 false を返します。

@raise IOError 既に close されている場合に発生します。...

IO#lineno -> Integer (2)

現在の行番号を整数で返します。実際には IO#gets が呼ばれた回数です。 改行以外のセパレータで gets が呼ばれた場合など、実際の行番号と異なる場合があります。

...現在の行番号を整数で返します。実際には IO#gets が呼ばれた回数です。
改行以外のセパレータで gets が呼ばれた場合など、実際の行番号と異なる場合があります。

@raise IOError 読み込み用にオープンされていなければ発生...

IO#lineno=(number) (2)

現在の行番号を number にセットします。 $. は次回の読み込みの時に更新されます。

...ber にセットします。 $. は次回の読み込みの時に更新されます。

@param number 行番号を整数で指定します。

@raise IOError 読み込み用にオープンされていなければ発生します。

f = File.new("testfile")
f.gets #=> "This is...

IO#lines(rs = $/) -> Enumerable::Enumerator (2)

自身を 1 行ずつイテレートするような Enumerable::Enumerator オブジェクトを生成して返します。

自身を 1 行ずつイテレートするような
Enumerable::Enumerator オブジェクトを生成して返します。

テキスト読み込みメソッドとして動作します。

@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。

"foo\nbar\n".lines.to_a #=> ["foo\n", "bar\n"]
"foo\nb ar".lines.sort #=> ["b ar", "foo\n"]

@...

絞り込み条件を変える

IO#nonblock(bool = true) { ... } -> object (2)

ブロック実行中、一時的に self のブロックモードを変更します。 bool が真ならノンブロックモード、偽ならブロックモードになります。

ブロック実行中、一時的に self のブロックモードを変更します。
bool が真ならノンブロックモード、偽ならブロックモードになります。

@param bool 真を指定するとノンブロックモード、偽を指定するとブロックモードになります。

IO#nonblock=(bool) (2)

bool が真なら self をノンブロックモードに、偽ならブロックモー ドにします。

bool が真なら self をノンブロックモードに、偽ならブロックモー
ドにします。

@param bool 真を指定すると自身をノンブロックモードにします。偽を指定するとブロックモードにします。

IO#nonblock? -> bool (2)

self がノンブロックモードならば true を、 ブロックモードなら false を返します。

self がノンブロックモードならば true を、
ブロックモードなら false を返します。

IO#pid -> Integer | nil (2)

自身が IO.popen で作られたIOポートなら、子プロセスのプロセス ID を 返します。それ以外は nil を返します。

...自身が IO.popen で作られたIOポートなら、子プロセスのプロセス ID を
返します。それ以外は nil を返します。

@raise IOError 既に close されている場合に発生します。...

IO#pos -> Integer (2)

ファイルポインタの現在の位置を整数で返します。

...ファイルポインタの現在の位置を整数で返します。

@raise IOError 既に close されている場合に発生します。...

絞り込み条件を変える

IO#pos=(n) (2)

ファイルポインタを指定位置に移動します。 IO#seek(n, IO::SEEK_SET) と同じです。

...ファイルポインタを指定位置に移動します。
IO
#seek(n, IO::SEEK_SET) と同じです。

@param n 先頭からのオフセットを整数で指定します。

@raise IOError 既に close されている場合に発生します。...

IO#print(*arg) -> nil (2)

引数を IO ポートに順に出力します。引数を省略した場合は、$_ を出力します。

...引数を IO ポートに順に出力します。引数を省略した場合は、$_ を出力します。

@param arg Kernel.#print と同じです。

@raise IOError 自身が書き込み用にオープンされていなければ発生します。

@raise Errno::EXXX 出力に失敗した場合...

IO#printf(format, *arg) -> nil (2)

C 言語の printf と同じように、format に従い引数 を文字列に変換して、self に出力します。

...第一引数に IO を指定できないこと、引数を省略できないことを除けば Kernel.#printf と同じです。

@param format Kernel.#printf と同じです。print_format を参照してください。

@param arg Kernel.#printf と同じです。

@raise IOError 自身が書き...

IO#putc(ch) -> object (2)

文字 ch を self に出力します。 引数の扱いは Kernel.#putc と同じです。詳細はこちらを参照し てください。ch を返します。

...参照し
てください。ch を返します。

@param ch 出力したい文字を、文字列か文字コード(整数)で与えます。

@raise IOError 自身が書き込み用にオープンされていなければ発生します。

@raise Errno::EXXX 出力に失敗した場合に発生し...

IO#puts(*obj) -> nil (2)

各 obj を self に出力し、それぞれの後に改行を出力します。 引数の扱いは Kernel.#puts と同じです。詳細はこちらを参照し てください。

...はこちらを参照し
てください。

@param obj 出力したいオブジェクトを指定します。Kernel.#puts と同じです。

@raise IOError 自身が書き込み用にオープンされていなければ発生します。

@raise Errno::EXXX 出力に失敗した場合に発生し...

絞り込み条件を変える

IO#read(length = nil, outbuf = "") -> String | nil (2)

length バイト読み込んで、その文字列を返します。

...の全てのデータを読み込んで、その文字列を返します。

@param outbuf 出力用のバッファを文字列で指定します。IO#read は読み込んだ
データをその文字列オブジェクトに上書きして返します。指定し
た文字...
...旦 length 長に拡張(ある
いは縮小)されたあと、実際に読み込んだデータのサイズになります。

@raise IOError 自身が読み込み用にオープンされていなければ発生します。

@raise Errno::EXXX データの読み込みに失敗した場...
...負の場合に発生します。

第二引数を指定した read の呼び出しでデータが空であった場合
(read が nil を返す場合)、outbuf は空文字列になります。

outbuf = "x" * 20;
io
= File.open("/dev/null")
p io.read(10,outbuf)
p outbuf
=> nil
""...

IO#read_nonblock(maxlen, outbuf = "") -> String (2)

IO をノンブロッキングモードに設定し、 その後で read(2) システムコールにより 長さ maxlen を上限として読み込み、文字列として返します。 EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。

...
IO
をノンブロッキングモードに設定し、
その後で read(2) システムコールにより
長さ maxlen を上限として読み込み、文字列として返します。
EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。


なお、バッファが...
...この場合、read(2) システムコールは呼ばれません。

このメソッドはノンブロッキングモードにする点を除いて IO#readpartial と
同じであることに注意してください。

既に EOF に達していれば EOFError が発生します。ただし、maxl...
...字列 "" を返します。

@param maxlen 読み込む長さの上限を整数で指定します。

@param outbuf 文字列で指定します。IO#read_nonblock は読み込んだデータを outbuf に破壊的に格納し、
返り値は outbuf となります。outbuf は一旦 m...

IO#readbyte -> Integer (2)

IO から1バイトを読み込み整数として返します。 既に EOF に達していれば EOFError が発生します。

...
IO
から1バイトを読み込み整数として返します。
既に EOF に達していれば EOFError が発生します。

@raise EOFError 既に EOF に達している場合に発生します。...

IO#readbytes(size) -> String (2)

IO#read と同様に size バイト読み込みますが、 EOFに到達した時に例外 EOFError を発生させます。

...IO#read と同様に size バイト読み込みますが、
EOFに到達した時に例外 EOFError を発生させます。

@param size 読み込む長さを整数で指定します。nil を指定した場合は EOF まで読み込みます。

@raise EOFError EOF に到達した場合に発生...

IO#readchar -> Integer (2)

IO ポートから 1 文字読み込んで、その文字に対応する Fixnum を 返します。 EOF に到達した時には EOFError が発生します。

...
IO
ポートから 1 文字読み込んで、その文字に対応する Fixnum を
返します。
EOF に到達した時には EOFError が発生します。

IO
#getc との違いは EOF での振る舞いのみです。

@raise EOFError EOF に到達した時に発生します。

@raise IOError...
...自身が読み込み用にオープンされていなければ発生します。

f = File.new("testfile")
f.readchar #=> 84
f.readchar #=> 104
f.read
f.readchar #=> EOFError

@see IO#getc...

絞り込み条件を変える

IO#readline(rs = $/) -> String (2)

一行読み込んで、読み込みに成功した時にはその文字列を返します。 EOF に到達した時には EOFError が発生します。

...字列を返します。
EOF に到達した時には EOFError が発生します。

読み込んだ文字列を変数 $_ にセットします。IO#gets との違いは EOF での振る舞いのみです。

@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行...
...続する改行を行の区切りとみなします(パラグラフモード)。

@raise EOFError EOF に到達した時に発生します。

@raise IOError 自身が読み込み用にオープンされていなければ発生します。

f = File.new("oneline_file")
f.readline...
...#=> "This is line one\n"
$_ #=> "This is line one\n"
f.readline #=> EOFError
$_ #=> nil

@see $/, IO#gets...

IO#readlines(rs = $/) -> [String] (2)

データを全て読み込んで、その各行を要素としてもつ配列を返します。 既に EOF に達していれば空配列 [] を返します。

...指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。

@raise IOError 自身が読み込み用にオープンされていなければ発生します。

@see $/, IO#gets...

IO#readpartial(maxlen, outbuf = "") -> String (2)

IO から長さ maxlen を上限として読み込み、文字列として返します。 即座に得られるデータが存在しないときにはブロックしてデータの到着を待ちます。 即座に得られるデータが 1byte でも存在すればブロックしません。

...
IO
から長さ maxlen を上限として読み込み、文字列として返します。
即座に得られるデータが存在しないときにはブロックしてデータの到着を待ちます。
即座に得られるデータが 1byte でも存在すればブロックしません。

...
...動作するよう設計されています。
readpartial がブロックするのは次の全ての条件が満たされたときだけです。
* IO オブジェクト内のバッファが空
* ストリームにデータが到着していない
* ストリームが EOF になっていない...
...EOF になっていれば、例外 EOFError を発生させます。

例えば、パイプに対しては次のように動作します。

r, w = IO.pipe # buffer pipe content
w << "abc" # "" "abc".
r.readpartial(4096)...

IO#ready? -> Integer | false | nil (2)

ブロックせずに読み込み可能なら真を、 不可能であれば偽を返します。

ブロックせずに読み込み可能なら真を、
不可能であれば偽を返します。

より正確には、
ブロックせずに読み込み可能ならそのバイト数を返します。
内部のバッファにデータがある場合にはtrueを返します。
self が EOF に達していれば false を返します。
判定不可能な場合には false を返します。
ブロックせずに読み込み可能な
データが存在しない場合には nil を返します。

IO#reopen(io) -> self (2)

自身を指定された io に繋ぎ換えます。

... io に繋ぎ換えます。

クラスも io に等しくなることに注意してください。
IO
#pos, IO#lineno などは指定された io と等しくなります。

@param io 自身を繋ぎ換えたい IO オブジェクトを指定します。

@raise IOError 指定された io が c...

絞り込み条件を変える

IO#reopen(path) -> self (2)

path で指定されたファイルにストリームを繋ぎ換えます。

...ファイルにストリームを繋ぎ換えます。

第二引数を省略したとき self のモードをそのまま引き継ぎます。
IO
#pos, IO#lineno などはリセットされます。

@param path パスを表す文字列を指定します。

@param mode パスを開く際のモー...

IO#reopen(path, mode) -> self (2)

path で指定されたファイルにストリームを繋ぎ換えます。

...ファイルにストリームを繋ぎ換えます。

第二引数を省略したとき self のモードをそのまま引き継ぎます。
IO
#pos, IO#lineno などはリセットされます。

@param path パスを表す文字列を指定します。

@param mode パスを開く際のモー...

IO#rewind -> 0 (2)

ファイルポインタを先頭に移動します。IO#lineno は 0 になります。

...ファイルポインタを先頭に移動します。IO#lineno は 0 になります。

@raise IOError 既に close されている場合に発生します。

f = File.new("testfile")
f.readline #=> "This is line one\n"
f.rewind #=> 0
f.lineno...

IO#scanf(format) -> Array (2)

String#scanfも参照してください。

String#scanfも参照してください。

@param format スキャンするフォーマットを文字列で指定します。
詳細は、m:String#scanf#format を参照してください。

IO#scanf(format) {|*ary| ...} -> Array (2)

String#scanfも参照してください。

String#scanfも参照してください。

@param format スキャンするフォーマットを文字列で指定します。
詳細は、m:String#scanf#format を参照してください。

絞り込み条件を変える

IO#seek(offset, whence = IO::SEEK_SET) -> 0 (2)

ファイルポインタを whence の位置から offset だけ移動させます。 offset 位置への移動が成功すれば 0 を返します。

...です。

* IO::SEEK_SET: ファイルの先頭から (デフォルト)
* IO::SEEK_CUR: 現在のファイルポインタから
* IO::SEEK_END: ファイルの末尾から

@raise Errno::EXXX ファイルポインタの移動に失敗した場合に発生します。

@raise IOError 既に cl...
...ose されていた場合に発生します。

f = File.new("testfile")
f.seek(-13, IO::SEEK_END) #=> 0
f.readline #=> "And so on...\n"

@see IO#sysseek...

IO#stat -> File::Stat (2)

ファイルのステータスを含む File::Stat オブジェクトを生成して 返します。

...ルのステータスを含む File::Stat オブジェクトを生成して
返します。

@raise Errno::EXXX ステータスの読み込みに失敗した場合に発生します。

@raise IOError 既に close されていた場合に発生します。

@see File#lstat, File.stat, File.lstat...

IO#sync -> bool (2)

現在の出力が同期モードならば true を返します。そうでない場合は false を返します。

...現在の出力が同期モードならば true を返します。そうでない場合は false を返します。

@raise IOError 既に close されていた場合に発生します。...

IO#sync=(newstate) (2)

自身を同期モードに設定すると、出力関数の呼出毎にバッファがフラッシュされます。

...にバッファがフラッシュされます。

@param newstate 自身を同期モードに設定するかを boolean で指定します。

@raise IOError 既に close されていた場合に発生します。...

IO#sysread(maxlen, outbuf = "") -> String (2)

read(2) を用いて入力を行ない、入力されたデータを 含む文字列を返します。stdio を経由しないので gets や getc や eof? などと混用すると思わぬ動作 をすることがあります。

...read(2) を用いて入力を行ない、入力されたデータを
含む文字列を返します。stdio を経由しないので gets や getc や eof? などと混用すると思わぬ動作
をすることがあります。

既に EOF に達していれば EOFError が発生します。た...
...します。

@param maxlen 入力のサイズを整数で指定します。

@param outbuf 出力用のバッファを文字列で指定します。IO#sysread は読み込んだデータを
その文字列オブジェクトに上書きして返します。指定した文字列オブ...
...小)されたあと、実際に読み込んだデータのサイズになります。

@raise IOError 自身が読み込み用にオープンされていなければ発生します。

@raise EOFError IO が既に EOF に達していれば発生します。

@raise Errno::EXXX データの読み込...

絞り込み条件を変える

IO#sysseek(offset, whence = IO::SEEK_SET) -> Integer (2)

lseek(2) と同じです。IO#seek では、 IO#sysread, IO#syswrite と併用すると正しく動作しないので代わりにこのメソッドを使います。 位置 offset への移動が成功すれば移動した位置(ファイル先頭からのオフセット)を返します。

...lseek(2) と同じです。IO#seek では、
IO
#sysread, IO#syswrite と併用すると正しく動作しないので代わりにこのメソッドを使います。
位置 offset への移動が成功すれば移動した位置(ファイル先頭からのオフセット)を返します。

書き...
...込み用にバッファリングされた IO に対して実行すると警告が出ます。

File.open("/dev/zero") {|f|
buf = f.read(3)
f.sysseek(0)
}
# => -:3:in `sysseek': sysseek for buffered IO (IOError)

File.open("/dev/null", "w") {|f|
f.print "foo"
f.sysseek(0)...
...ffered IO

@param offset ファイルポインタを移動させるオフセットを整数で指定します。

@param whence 値は以下のいずれかです。

* IO::SEEK_SET: ファイルの先頭から (デフォルト)
* IO::SEEK_CUR: 現在のファイルポインタから
* IO::SEEK...

IO#syswrite(string) -> Integer (2)

write(2) を用いて string を出力します。 string が文字列でなければ to_s による文字列化を試みます。 実際に出力できたバイト数を返します。

...力できたバイト数を返します。

stdio を経由しないので他の出力メソッドと混用すると思わぬ動作
をすることがあります。

@param string 自身に書き込みたい文字列を指定します。

@raise IOError 自身が書き込み用にオープンされ...

IO#tell -> Integer (2)

ファイルポインタの現在の位置を整数で返します。

...ファイルポインタの現在の位置を整数で返します。

@raise IOError 既に close されている場合に発生します。...

IO#to_i -> Integer (2)

ファイル記述子を表す整数を返します。

...ファイル記述子を表す整数を返します。

@raise IOError 既に close されている場合に発生します。...

IO#to_io -> self (2)

self を返します。

self を返します。

絞り込み条件を変える

IO#to_ptr -> DL::PtrData (2)

自身を指す DL::PtrData を返します。これは C レベルでは「FILE *」です。

...自身を指す DL::PtrData を返します。これは C レベルでは「FILE *」です。

@raise IOError 自身が close されていたら発生します。...

IO#tty? -> bool (2)

入出力ポートがttyに結合している時、真を返します。そうでない場合 false を返します。

...入出力ポートがttyに結合している時、真を返します。そうでない場合 false を返します。

@raise IOError 既に close されている場合に発生します。...

IO#ungetc(char) -> nil (2)

指定された char を読み戻します。 2バイト以上の読み戻しは保証されません。

...以上の読み戻しは保証されません。

@param char 読み戻したい1バイト文字に対応する Fixnum を指定します。

@raise IOError 読み戻しに失敗した場合に発生します。また、自身が読み込み用にオープンされていない時、...

IO#wait(timeout = nil) -> bool | self | nil (2)

self が読み込み可能になるまでブロックし、読み込み可能になったら 真値を返します。タイムアウト、もしくはEOFで それ以上読みこめない場合は偽の値を返します。

self が読み込み可能になるまでブロックし、読み込み可能になったら
真値を返します。タイムアウト、もしくはEOFで
それ以上読みこめない場合は偽の値を返します。

より詳しくは、一度ブロックしてから読み込み可能になった場合には
selfを返します。
内部のバッファにデータがある場合には
ブロックせずに true を返します。
内部のバッファとはCランタイムのFILE構造体内部の
バッファのことです。

つまり、読み込み可能である場合にはtrueを返す場合と
selfを返す場合があることに注意してください。

timeout を指定した場合は、指定秒数経過するまでブロックし、タ
イムアウトし...

IO#write(str) -> Integer (2)

IOポートに対して str を出力します。str が文字列でなけ れば to_s による文字列化を試みます。 実際に出力できたバイト数を返します。

...
IO
ポートに対して str を出力します。str が文字列でなけ
れば to_s による文字列化を試みます。
実際に出力できたバイト数を返します。

IO
#syswrite を除く全ての出力メソッドは、最終的に
"write" という名のメソッドを呼び出...
...ことで出力関数の挙動を変更することができます。

@param str 自身に書き込みたい文字列を指定します。

@raise IOError 自身が書き込み用にオープンされていなければ発生します。

@raise Errno::EXXX 出力に失敗した場合に発生し...

絞り込み条件を変える

IO#write_nonblock(string) -> Integer (2)

IO をノンブロッキングモードに設定し、string を write(2) システムコールで書き出します。

...
IO
をノンブロッキングモードに設定し、string を write(2) システムコールで書き出します。

write(2) が成功した場合、書き込んだ長さを返します。
EAGAIN, EINTR などは例外 Errno::EXXX として呼出元に報告されます。
書き込んだバ...
...String#bytesize の
値より小さい可能性があります。



@param string 自身に書き込みたい文字列を指定します。

@raise IOError 自身が書き込み用にオープンされていなければ発生します。

@raise Errno::EXXX write(2) が失敗した場合に発生...

IO.for_fd(fd, mode = "r") -> IO (2)

オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。

...オープン済みのファイルディスクリプタ fd に対する新しい
IO
オブジェクトを生成して返します。

IO
.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを
実行します。ブロックの終了と...
...されます。ブロックの結果を返します。
IO
.new, IO.for_fd はブロックを受け付けません。


@param fd ファイルディスクリプタである整数を指定します。

@param mode Kernel.#open と同じ形式で IO のモードを指定します。File::Constants::RDON...
...
fcntl(2) で F_GETFL フラグが利用できる環境では第一引数で指定した fd のモードを引き継ぎ、
利用できない環境では "r" になります。


@raise Errno::EXXX IO オブジェクトの生成に失敗した場合に発生します。...

IO.foreach(path, rs = $/) -> Enumerable::Enumerator (2)

path で指定されたファイルの各行を引数としてブロックを繰り返し実行します。 path のオープンに成功すれば nil を返します。

path で指定されたファイルの各行を引数としてブロックを繰り返し実行します。
path のオープンに成功すれば nil を返します。

ブロックが与えられなかった場合は、path で指定されたファイルの各行を繰り返す
Enumerable::Enumerator オブジェクトを生成して返します。

path が空ファイルの場合、何もせずに nil を返します。
Kernel.#open と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。

@param path ファイル名を表す文字列か "|コマンド名" を指定します。

@param rs 行の区切...

IO.foreach(path, rs = $/) {|line| ... } -> nil (2)

path で指定されたファイルの各行を引数としてブロックを繰り返し実行します。 path のオープンに成功すれば nil を返します。

path で指定されたファイルの各行を引数としてブロックを繰り返し実行します。
path のオープンに成功すれば nil を返します。

ブロックが与えられなかった場合は、path で指定されたファイルの各行を繰り返す
Enumerable::Enumerator オブジェクトを生成して返します。

path が空ファイルの場合、何もせずに nil を返します。
Kernel.#open と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。

@param path ファイル名を表す文字列か "|コマンド名" を指定します。

@param rs 行の区切...

IO.new(fd, mode = "r") -> IO (2)

オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。

...オープン済みのファイルディスクリプタ fd に対する新しい
IO
オブジェクトを生成して返します。

IO
.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを
実行します。ブロックの終了と...
...されます。ブロックの結果を返します。
IO
.new, IO.for_fd はブロックを受け付けません。


@param fd ファイルディスクリプタである整数を指定します。

@param mode Kernel.#open と同じ形式で IO のモードを指定します。File::Constants::RDON...
...
fcntl(2) で F_GETFL フラグが利用できる環境では第一引数で指定した fd のモードを引き継ぎ、
利用できない環境では "r" になります。


@raise Errno::EXXX IO オブジェクトの生成に失敗した場合に発生します。...

絞り込み条件を変える

IO.open(fd, mode = "r") -> IO (2)

オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。

...オープン済みのファイルディスクリプタ fd に対する新しい
IO
オブジェクトを生成して返します。

IO
.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを
実行します。ブロックの終了と...
...されます。ブロックの結果を返します。
IO
.new, IO.for_fd はブロックを受け付けません。


@param fd ファイルディスクリプタである整数を指定します。

@param mode Kernel.#open と同じ形式で IO のモードを指定します。File::Constants::RDON...
...
fcntl(2) で F_GETFL フラグが利用できる環境では第一引数で指定した fd のモードを引き継ぎ、
利用できない環境では "r" になります。


@raise Errno::EXXX IO オブジェクトの生成に失敗した場合に発生します。...

IO.open(fd, mode = "r") {|io| ... } -> object (2)

オープン済みのファイルディスクリプタ fd に対する新しい IO オブジェクトを生成して返します。

...オープン済みのファイルディスクリプタ fd に対する新しい
IO
オブジェクトを生成して返します。

IO
.open にブロックが与えられた場合、IO オブジェクトを生成しそれを引数としてブロックを
実行します。ブロックの終了と...
...されます。ブロックの結果を返します。
IO
.new, IO.for_fd はブロックを受け付けません。


@param fd ファイルディスクリプタである整数を指定します。

@param mode Kernel.#open と同じ形式で IO のモードを指定します。File::Constants::RDON...
...
fcntl(2) で F_GETFL フラグが利用できる環境では第一引数で指定した fd のモードを引き継ぎ、
利用できない環境では "r" になります。


@raise Errno::EXXX IO オブジェクトの生成に失敗した場合に発生します。...

IO.pipe -> [IO] (2)

pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。

...った2つの
IO
オブジェクトを要素とする配列を返します。

戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。



@raise Errno::EXXX IO オブジェクトの作成に失敗した場合に発生します。

r, w = IO.pipe
p [r,...
...w] # => [#<IO:0x401b90f8>, #<IO:0x401b7718>]
Thread.new do
w.puts "foo"
w.close
end
p r.gets # => "foo\n"...

IO.popen("-", mode = "r") -> IO (2)

第一引数に文字列 "-" が指定された時、fork(2) を 行い子プロセスの標準入出力との間にパイプラインを確立します。 親プロセスでは IO オブジェクトを返し、子プロセスでは nil を返します。

...ンを確立します。
親プロセスでは IO オブジェクトを返し、子プロセスでは
nil を返します。

io
= IO.popen("-", "r+")
if io # parent
io
.puts "foo"
p io.gets # => "child output: foo\n"
io
.close
else # child
s = gets
print...
... IO オブジェクトを引数に
ブロックを実行し、その結果を返します。ブロックの実行後、生成したパイ
プは自動的にクローズされます。
子プロセスでは nil を引数にブロックを実行し終了します。

p IO.popen("-", "r+") {|io|...
...if io # parent
io
.puts "foo"
io
.gets
else # child
s = gets
puts "child output: " + s
end
}
# => "child output: foo\n"

@param mode オープンする IO ポートのモードを指定します。mode の詳細は Kernel.#open 参照して下さい。

@rais...

IO.popen("-", mode = "r") {|io| ... } -> object (2)

第一引数に文字列 "-" が指定された時、fork(2) を 行い子プロセスの標準入出力との間にパイプラインを確立します。 親プロセスでは IO オブジェクトを返し、子プロセスでは nil を返します。

...ンを確立します。
親プロセスでは IO オブジェクトを返し、子プロセスでは
nil を返します。

io
= IO.popen("-", "r+")
if io # parent
io
.puts "foo"
p io.gets # => "child output: foo\n"
io
.close
else # child
s = gets
print...
... IO オブジェクトを引数に
ブロックを実行し、その結果を返します。ブロックの実行後、生成したパイ
プは自動的にクローズされます。
子プロセスでは nil を引数にブロックを実行し終了します。

p IO.popen("-", "r+") {|io|...
...if io # parent
io
.puts "foo"
io
.gets
else # child
s = gets
puts "child output: " + s
end
}
# => "child output: foo\n"

@param mode オープンする IO ポートのモードを指定します。mode の詳細は Kernel.#open 参照して下さい。

@rais...

絞り込み条件を変える

IO.popen(command, mode = "r") -> IO (2)

command をサブプロセスとして実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。command はシェルを経由して実行されます。 生成したパイプを IO オブジェクトとして返します。

...す。
生成したパイプを IO オブジェクトとして返します。

p io = IO.popen("cat", "r+") # => #<IO:0x401b75c8>
io
.puts "foo"
io
.close_write
p io.gets # => "foo\n"

ブロックが与えられた場合は生成した IO オブジェクトを引数にブ...
...プは自動的にクローズされます。

p IO.popen("cat", "r+") {|io|
io
.puts "foo"
io
.close_write
io
.gets
}
# => "foo\n"

@param command コマンド名を文字列で指定します。

@param mode オープンする IO ポートのモードを指定します。mode の...

IO.popen(command, mode = "r") {|io| ... } -> object (2)

command をサブプロセスとして実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。command はシェルを経由して実行されます。 生成したパイプを IO オブジェクトとして返します。

...す。
生成したパイプを IO オブジェクトとして返します。

p io = IO.popen("cat", "r+") # => #<IO:0x401b75c8>
io
.puts "foo"
io
.close_write
p io.gets # => "foo\n"

ブロックが与えられた場合は生成した IO オブジェクトを引数にブ...
...プは自動的にクローズされます。

p IO.popen("cat", "r+") {|io|
io
.puts "foo"
io
.close_write
io
.gets
}
# => "foo\n"

@param command コマンド名を文字列で指定します。

@param mode オープンする IO ポートのモードを指定します。mode の...

IO.read(path, length = nil, offset = 0) -> String | nil (2)

path で指定されたファイルを offset 位置から length バイト分読み込んで返します。

...場合は nil を返します。ただし、length に nil か 0 が指定されている場合は、空文字列 "" を返します。例えば、IO.read(空ファイル) は "" を返します。


Kernel.#open と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み...
...します。

@raise ArgumentError length が負の場合に発生します。


例:

IO
.read(empty_file) #=> ""
IO
.read(empty_file, 1) #=> nil
IO
.read(one_byte_file, 0, 10) #=> ""
IO
.read(one_byte_file, nil, 10) #=> ""
IO
.read(one_byte_file, 1, 10) #=> nil...

IO.readlines(path, rs = $/) -> [String] (2)

path で指定されたファイルを全て読み込んで、その各行を要素としてもつ配列を返します。

path で指定されたファイルを全て読み込んで、その各行を要素としてもつ配列を返します。

既に EOF に達していれば空配列 [] を返します。
Kernel.#open と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。

@param path ファイル名を表す文字列か "|コマンド名" を指定します。

@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。

@raise Errno::EXXX path ...

IO.select(reads, writes = [], excepts = [], timeout = nil) -> [[IO]] | nil (2)

select(2) を実行します。

...力/例外待ちの IO オブジェクトの中から準備ができたものを
それぞれ配列にして、配列の配列として返します。
タイムアウトした時には nil を返します。

Kernel.#select と同じです。

@param reads 入力待ちする IO オブジェクト...
...の配列を渡します。

@param writes 出力待ちする IO オブジェクトの配列を渡します。

@param excepts 例外待ちする IO オブジェクトの配列を渡します。

@param timeout タイムアウトまでの時間を表す数値または nil を指定します。数値...
...定した時には IO がどれかひとつレディ状態になるまで待ち続けます。

@raise IOError 与えられた IO オブジェクトが閉じられていた時に発生します。

@raise Errno::EXXX select(2) に失敗した場合に発生します。

rp, wp = IO.pipe
mesg = "pi...

絞り込み条件を変える

IO.sysopen(path, mode = "r", perm = 0666) -> Integer (2)

path で指定されるファイルをオープンし、ファイル記述子を返しま す。

...path で指定されるファイルをオープンし、ファイル記述子を返しま
す。

IO
.for_fd などで IO オブジェクトにしない限り、このメソッ
ドでオープンしたファイルをクローズする手段はありません。

@param path ファイル名を表す...

IO::SEEK_CUR -> Fixnum (2)

IO#seek を参照してください。

...
IO
#seek を参照してください。...

IO::SEEK_END -> Fixnum (2)

IO#seek を参照してください。

...
IO
#seek を参照してください。...

IO::SEEK_SET -> Fixnum (2)

IO#seek を参照してください。

...
IO
#seek を参照してください。...