ライブラリ
- ビルトイン (29)
- expect (2)
-
io
/ console (3) -
io
/ nonblock (1) -
io
/ wait (3)
キーワード
- autoclose= (1)
- autoclose? (1)
- bytes (1)
- chars (1)
- codepoints (1)
- dup (1)
- each (3)
-
each
_ byte (1) -
each
_ char (1) -
each
_ codepoint (1) -
each
_ line (3) - expect (2)
- flush (1)
- iflush (1)
- ioflush (1)
- lineno= (1)
- lines (3)
- nonblock (1)
- oflush (1)
- putc (1)
- puts (1)
- read (1)
-
read
_ nonblock (1) - readpartial (1)
- sysread (1)
- ungetbyte (1)
- ungetc (1)
- wait (1)
-
wait
_ readable (1) -
wait
_ writable (1) -
write
_ nonblock (1)
検索結果
先頭5件
-
IO
# autoclose=(bool) (18307.0) -
auto-close フラグを設定します。
...close しません。
@param bool 真偽値でフラグを設定します
@see IO#autoclose?
f = open("/dev/null")
IO.for_fd(f.fileno)
# ...
f.gets # may cause Errno::EBADF
f = open("/dev/null")
IO.for_fd(f.fileno).autoclose = false
# ...
f.gets # won't cause Errno::EBADF... -
IO
# autoclose? -> bool (18307.0) -
auto-close フラグを返します。
...auto-close フラグを返します。
//emlist[例][ruby]{
IO.open(IO.sysopen("testfile")) do |io|
io.autoclose? # => true
io.autoclose = false
io.autoclose? # => false
end
//}
@see IO#autoclose=... -
IO
# flush -> self (18307.0) -
IO ポートの内部バッファをフラッシュします。
...
IO ポートの内部バッファをフラッシュします。
このメソッドを使ったとき、即座にメタデータを更新することは保証されません(特にWindowsで)。
即座にメタデータも更新したいときは IO#fsync を使います。
@raise IOError 自身... -
IO
# iflush -> self (18307.0) -
カーネルの入力バッファをフラッシュします。
カーネルの入力バッファをフラッシュします。
@return 自身を返します。 -
IO
# ioflush -> self (18307.0) -
カーネルの入出力バッファをフラッシュします。
カーネルの入出力バッファをフラッシュします。
@return 自身を返します。 -
IO
# oflush -> self (18307.0) -
カーネルの出力バッファをフラッシュします。
カーネルの出力バッファをフラッシュします。
@return 自身を返します。 -
IO
# putc(ch) -> object (18307.0) -
文字 ch を self に出力します。 引数の扱いは Kernel.#putc と同じです。詳細はこちらを参照し てください。ch を返します。
...参照し
てください。ch を返します。
@param ch 出力したい文字を、文字列か文字コード(整数)で与えます。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
@raise Errno::EXXX 出力に失敗した場合に発生し... -
IO
# puts(*obj) -> nil (18307.0) -
各 obj を self に出力し、それぞれの後に改行を出力します。 引数の扱いは Kernel.#puts と同じです。詳細はこちらを参照し てください。
...はこちらを参照し
てください。
@param obj 出力したいオブジェクトを指定します。Kernel.#puts と同じです。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
@raise Errno::EXXX 出力に失敗した場合に発生し... -
IO
# ungetbyte(c) -> nil (18307.0) -
指定したバイト列を書き戻します。
...ます。
2バイト以上の書き戻しは仕様として保証しません。
このメソッドはバッファを経由しない読み出し(IO#sysread など)
には影響しません。
@param c バイト列(文字列)、もしくは0から255までの整数
例:
f = File.new("testfile... -
IO
# ungetc(char) -> nil (18307.0) -
指定された char を読み戻します。
...指定された char を読み戻します。
@param char 読み戻したい1文字かそのコードポイントを指定します。
@raise IOError 読み戻しに失敗した場合に発生します。また、自身が読み込み用にオープンされていない時、
自... -
IO
# dup -> IO (9307.0) -
レシーバと同じ IO を参照する新しい IO オブジェクトを返します。 参照しているファイル記述子は dup(2) されます。
...シーバと同じ IO を参照する新しい IO オブジェクトを返します。
参照しているファイル記述子は dup(2) されます。
clone の際に self は一旦 IO#flush されます。
フリーズした IO の clone は同様にフリーズされた IO を返しますが、......しいフリーズされていない IO を返します。
@raise IOError 既に close されていた場合に発生します。
//emlist[例][ruby]{
clone_io = nil
IO.write("testfile", "test")
File.open("testfile") do |io|
clone_io = io.clone
end
clone_io.read # => "test"
clone_io.close
//}... -
IO
# bytes -> Enumerator (307.0) -
このメソッドは obsolete です。 代わりに IO#each_byte を使用してください。 使用すると警告メッセージが表示されます。
...このメソッドは obsolete です。
代わりに IO#each_byte を使用してください。
使用すると警告メッセージが表示されます。
IO の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。
ブロック......が与えられなかった場合は、自身から生成した
Enumerator オブジェクトを返します。
バイナリ読み込みメソッドとして動作します。
@raise IOError 自身が読み込み用にオープンされていなければ発生します。
@see IO#each_byte... -
IO
# chars -> Enumerator (307.0) -
このメソッドは obsolete です。 代わりに IO#each_char を使用してください。
...このメソッドは obsolete です。
代わりに IO#each_char を使用してください。
使用すると警告メッセージが表示されます。
self に含まれる文字を一文字ずつブロックに渡して評価します。
self は読み込み用にオープンされてい......なければなりません。
ブロックを省略した場合は各文字について繰り返す Enumerator を返します。
@raise IOError self が読み込み用にオープンされていない場合に発生します。
@see IO#each_char... -
IO
# codepoints -> Enumerator (307.0) -
このメソッドは obsolete です。 代わりに IO#each_codepoint を使用してください。
...このメソッドは obsolete です。
代わりに IO#each_codepoint を使用してください。
使用すると警告メッセージが表示されます。
IO の各コードポイントに対して繰り返しブロックを呼びだします。
ブロックの引数にはコードポ......イントを表す整数が渡されます。
ブロックを省略した場合には、Enumerator を返します。
@see IO#each_codepoint... -
IO
# each(limit) -> Enumerator (307.0) -
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として 与えられたブロックを実行します。
...
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として
与えられたブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
Enumerator オブジェクトを返します。
テキスト読み込みメソ......(パラグラフモード)。
@param limit 最大の読み込みバイト数
@raise IOError 自身が読み込み用にオープンされていなければ発生します。
//emlist[例: 引数なし][ruby]{
IO.write("testfile", "This is line one,\nThis is line two,\nThis is line three,\nAnd so o......is is line three,\n"
# "4: And so on..."
//}
//emlist[例: 行の区切りに半角カンマ、最大読み取りバイト数に 10 を指定][ruby]{
IO.write("testfile", "This is line one,This is line two,This is line three,And so on...")
f = File.new("testfile")
f.each(",", 10) { |line| p "#{f.lin... -
IO
# each(rs = $ / ) -> Enumerator (307.0) -
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として 与えられたブロックを実行します。
...
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として
与えられたブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
Enumerator オブジェクトを返します。
テキスト読み込みメソ......(パラグラフモード)。
@param limit 最大の読み込みバイト数
@raise IOError 自身が読み込み用にオープンされていなければ発生します。
//emlist[例: 引数なし][ruby]{
IO.write("testfile", "This is line one,\nThis is line two,\nThis is line three,\nAnd so o......is is line three,\n"
# "4: And so on..."
//}
//emlist[例: 行の区切りに半角カンマ、最大読み取りバイト数に 10 を指定][ruby]{
IO.write("testfile", "This is line one,This is line two,This is line three,And so on...")
f = File.new("testfile")
f.each(",", 10) { |line| p "#{f.lin... -
IO
# each(rs , limit) -> Enumerator (307.0) -
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として 与えられたブロックを実行します。
...
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として
与えられたブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
Enumerator オブジェクトを返します。
テキスト読み込みメソ......(パラグラフモード)。
@param limit 最大の読み込みバイト数
@raise IOError 自身が読み込み用にオープンされていなければ発生します。
//emlist[例: 引数なし][ruby]{
IO.write("testfile", "This is line one,\nThis is line two,\nThis is line three,\nAnd so o......is is line three,\n"
# "4: And so on..."
//}
//emlist[例: 行の区切りに半角カンマ、最大読み取りバイト数に 10 を指定][ruby]{
IO.write("testfile", "This is line one,This is line two,This is line three,And so on...")
f = File.new("testfile")
f.each(",", 10) { |line| p "#{f.lin... -
IO
# each _ byte -> Enumerator (307.0) -
IO の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。
...
IO の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
Enumerator オブジェクトを返します。
バイナリ読み込みメソッドとして動......作します。
@raise IOError 自身が読み込み用にオープンされていなければ発生します。
//emlist[例][ruby]{
IO.write("testfile", "aあ")
File.open("testfile") do |io|
io.each_byte { |x| p x }
# => 97
# 227
# 129
# 130
end
//}... -
IO
# each _ char -> Enumerator (307.0) -
self に含まれる文字を一文字ずつブロックに渡して評価します。
...れていなければなりません。
ブロックを省略した場合は各文字について繰り返す Enumerator を返します。
@raise IOError self が読み込み用にオープンされていない場合に発生します。
f = File.new("testfile")
f.each_char {|c| print c, ' '... -
IO
# each _ codepoint -> Enumerator (307.0) -
IO の各コードポイントに対して繰り返しブロックを呼びだします。
...
IO の各コードポイントに対して繰り返しブロックを呼びだします。
ブロックの引数にはコードポイントを表す整数が渡されます。
ブロックを省略した場合には、Enumerator を返します。
//emlist[例][ruby]{
IO.write("testfile", "abcde... -
IO
# each _ line(limit) -> Enumerator (307.0) -
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として 与えられたブロックを実行します。
...
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として
与えられたブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
Enumerator オブジェクトを返します。
テキスト読み込みメソ......(パラグラフモード)。
@param limit 最大の読み込みバイト数
@raise IOError 自身が読み込み用にオープンされていなければ発生します。
//emlist[例: 引数なし][ruby]{
IO.write("testfile", "This is line one,\nThis is line two,\nThis is line three,\nAnd so o......is is line three,\n"
# "4: And so on..."
//}
//emlist[例: 行の区切りに半角カンマ、最大読み取りバイト数に 10 を指定][ruby]{
IO.write("testfile", "This is line one,This is line two,This is line three,And so on...")
f = File.new("testfile")
f.each(",", 10) { |line| p "#{f.lin... -
IO
# each _ line(rs = $ / ) -> Enumerator (307.0) -
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として 与えられたブロックを実行します。
...
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として
与えられたブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
Enumerator オブジェクトを返します。
テキスト読み込みメソ......(パラグラフモード)。
@param limit 最大の読み込みバイト数
@raise IOError 自身が読み込み用にオープンされていなければ発生します。
//emlist[例: 引数なし][ruby]{
IO.write("testfile", "This is line one,\nThis is line two,\nThis is line three,\nAnd so o......is is line three,\n"
# "4: And so on..."
//}
//emlist[例: 行の区切りに半角カンマ、最大読み取りバイト数に 10 を指定][ruby]{
IO.write("testfile", "This is line one,This is line two,This is line three,And so on...")
f = File.new("testfile")
f.each(",", 10) { |line| p "#{f.lin... -
IO
# each _ line(rs , limit) -> Enumerator (307.0) -
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として 与えられたブロックを実行します。
...
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として
与えられたブロックを実行します。
ブロックが与えられなかった場合は、自身から生成した
Enumerator オブジェクトを返します。
テキスト読み込みメソ......(パラグラフモード)。
@param limit 最大の読み込みバイト数
@raise IOError 自身が読み込み用にオープンされていなければ発生します。
//emlist[例: 引数なし][ruby]{
IO.write("testfile", "This is line one,\nThis is line two,\nThis is line three,\nAnd so o......is is line three,\n"
# "4: And so on..."
//}
//emlist[例: 行の区切りに半角カンマ、最大読み取りバイト数に 10 を指定][ruby]{
IO.write("testfile", "This is line one,This is line two,This is line three,And so on...")
f = File.new("testfile")
f.each(",", 10) { |line| p "#{f.lin... -
IO
# expect(pattern , timeout = 9999999) -> Array | nil (307.0) -
レシーバから指定したパターンを読み込むまで待ちます。
...定したパターンを読み込むまで待ちます。
このメソッドがブロックなしで呼ばれた場合、まずレシーバである
IO オブジェクトから pattern にマッチするパターンが読みこまれる
まで待ちます。
このメソッドをブロック付き... -
IO
# expect(pattern , timeout = 9999999) {|array| . . . } -> nil (307.0) -
レシーバから指定したパターンを読み込むまで待ちます。
...定したパターンを読み込むまで待ちます。
このメソッドがブロックなしで呼ばれた場合、まずレシーバである
IO オブジェクトから pattern にマッチするパターンが読みこまれる
まで待ちます。
このメソッドをブロック付き... -
IO
# lineno=(number) (307.0) -
現在の行番号を number にセットします。 $. は次回の読み込みの時に更新されます。
...ber にセットします。 $. は次回の読み込みの時に更新されます。
@param number 行番号を整数で指定します。
@raise IOError 読み込み用にオープンされていなければ発生します。
f = File.new("testfile")
f.gets #=> "This is... -
IO
# lines(limit) -> Enumerator (307.0) -
このメソッドは obsolete です。 代わりに IO#each_line を使用してください。
...このメソッドは obsolete です。
代わりに IO#each_line を使用してください。
使用すると警告メッセージが表示されます。
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として
与えられたブロックを実行しま......空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
@param limit 最大の読み込みバイト数
@raise IOError 自身が読み込み用にオープンされていなければ発生します。
@see $/, IO#each_line... -
IO
# lines(rs = $ / ) -> Enumerator (307.0) -
このメソッドは obsolete です。 代わりに IO#each_line を使用してください。
...このメソッドは obsolete です。
代わりに IO#each_line を使用してください。
使用すると警告メッセージが表示されます。
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として
与えられたブロックを実行しま......空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
@param limit 最大の読み込みバイト数
@raise IOError 自身が読み込み用にオープンされていなければ発生します。
@see $/, IO#each_line... -
IO
# lines(rs , limit) -> Enumerator (307.0) -
このメソッドは obsolete です。 代わりに IO#each_line を使用してください。
...このメソッドは obsolete です。
代わりに IO#each_line を使用してください。
使用すると警告メッセージが表示されます。
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として
与えられたブロックを実行しま......空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
@param limit 最大の読み込みバイト数
@raise IOError 自身が読み込み用にオープンされていなければ発生します。
@see $/, IO#each_line... -
IO
# nonblock(bool = true) { . . . } -> object (307.0) -
ブロック実行中、一時的に self のブロックモードを変更します。 bool が真ならノンブロックモード、偽ならブロックモードになります。
ブロック実行中、一時的に self のブロックモードを変更します。
bool が真ならノンブロックモード、偽ならブロックモードになります。
@param bool 真を指定するとノンブロックモード、偽を指定するとブロックモードになります。 -
IO
# read(length = nil , outbuf = "") -> String | nil (307.0) -
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 = nil , exception: true) -> String | Symbol | nil (307.0) -
IO をノンブロッキングモードに設定し、 その後で read(2) システムコールにより 長さ maxlen を上限として読み込み、文字列として返します。 EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。
...
IO をノンブロッキングモードに設定し、
その後で read(2) システムコールにより
長さ maxlen を上限として読み込み、文字列として返します。
EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。
発生した例外 がErr......no::EAGAIN、 Errno::EWOULDBLOCK である場合は、
その例外オブジェクトに IO::WaitReadable が Object#extend
されます。
なお、バッファが空でない場合は、read_nonblock はバッファから読み込みます。この場合、read(2) システムコールは呼ば......れません。
このメソッドはノンブロッキングモードにする点を除いて IO#readpartial と
同じであることに注意してください。
バイナリ読み込みメソッドとして動作します。
既に EOF に達していれば EOFError が発生します。た... -
IO
# readpartial(maxlen , outbuf = "") -> String (307.0) -
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
# sysread(maxlen , outbuf = "") -> String (307.0) -
read(2) を用いて入力を行ない、入力されたデータを 含む文字列を返します。stdio を経由しないので gets や getc や eof? などと混用すると思わぬ動作 をすることがあります。
...read(2) を用いて入力を行ない、入力されたデータを
含む文字列を返します。stdio を経由しないので gets や getc や eof? などと混用すると思わぬ動作
をすることがあります。
バイナリ読み込みメソッドとして動作します。
既......します。
@param maxlen 入力のサイズを整数で指定します。
@param outbuf 出力用のバッファを文字列で指定します。IO#sysread は読み込んだデータを
その文字列オブジェクトに上書きして返します。指定した文字列オブ......小)されたあと、実際に読み込んだデータのサイズになります。
@raise IOError 自身が読み込み用にオープンされていなければ発生します。
@raise EOFError IO が既に EOF に達していれば発生します。
@raise Errno::EXXX データの読み込... -
IO
# wait(timeout = nil) -> bool | self | nil (307.0) -
self が読み込み可能になるまでブロックし、読み込み可能になったら 真値を返します。タイムアウト、もしくはEOFで それ以上読みこめない場合は偽の値を返します。
...timeout を指定した場合は、指定秒数経過するまでブロックし、タ
イムアウトした場合は nil を返します。
self が EOF に達していれば false を返します。
@param timeout タイムアウトまでの秒数を指定します。
@see IO#wait_writable... -
IO
# wait _ readable(timeout = nil) -> bool | self | nil (307.0) -
self が読み込み可能になるまでブロックし、読み込み可能になったら 真値を返します。タイムアウト、もしくはEOFで それ以上読みこめない場合は偽の値を返します。
...timeout を指定した場合は、指定秒数経過するまでブロックし、タ
イムアウトした場合は nil を返します。
self が EOF に達していれば false を返します。
@param timeout タイムアウトまでの秒数を指定します。
@see IO#wait_writable... -
IO
# wait _ writable(timeout) -> self | nil (307.0) -
self が書き込み可能になるまでブロックし、書き込み可能になったら self を 返します。
...、書き込み可能になったら self を
返します。
timeout を指定した場合は、指定秒数経過するまでブロックし、タイムアウト
した場合は nil を返します。
@param timeout タイムアウトまでの秒数を指定します。
@see IO#wait_readable... -
IO
# write _ nonblock(string , exception: true) -> Integer | :wait _ writable (307.0) -
IO をノンブロッキングモードに設定し、string を write(2) システムコールで書き出します。
...
IO をノンブロッキングモードに設定し、string を write(2) システムコールで書き出します。
write(2) が成功した場合、書き込んだ長さを返します。
EAGAIN, EINTR などは例外 Errno::EXXX として呼出元に報告されます。
書き込んだバ......ブジェクトに IO::WaitWritable が Object#extend
されます。よって IO::WaitWritable を write_nonblock のリトライが必要
かの判定に用いることができます。
@param string 自身に書き込みたい文字列を指定します。
@param exception false を指定す......と、書き込み時に Errno::EAGAIN、Errno::EWOULDBLOCK が発生
する代わりに :wait_writable を返します。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
@raise Errno::EXXX write(2) が失敗した場合に発生し...