るりまサーチ (Ruby 3.4)

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

別のキーワード

  1. _builtin to_c
  2. etc sc_2_c_dev
  3. etc sc_2_c_bind
  4. tracer display_c_call
  5. tracer display_c_call=

検索結果

<< 1 2 > >>

IO#each_char -> Enumerator (36661.0)

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

...れていなければなりません。

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

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

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

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

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

...れていなければなりません。

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

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

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

IO#each(limit, chomp: false) -> Enumerator (18622.0)

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

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

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

テキスト読み込みメソ...
...と各行の末尾から "\n", "\r", または "\r\n" を取り除きます。

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

//emlist[例: 引数なし][ruby]{
IO
.write("testfile", "This is line one,\nThis is line two,\nThis is line three,\nAnd so...
...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(limit, chomp: false) {|line| ... } -> self (18622.0)

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

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

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

テキスト読み込みメソ...
...と各行の末尾から "\n", "\r", または "\r\n" を取り除きます。

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

//emlist[例: 引数なし][ruby]{
IO
.write("testfile", "This is line one,\nThis is line two,\nThis is line three,\nAnd so...
...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 = $/, chomp: false) -> Enumerator (18622.0)

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

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

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

テキスト読み込みメソ...
...と各行の末尾から "\n", "\r", または "\r\n" を取り除きます。

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

//emlist[例: 引数なし][ruby]{
IO
.write("testfile", "This is line one,\nThis is line two,\nThis is line three,\nAnd so...
...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 = $/, chomp: false) {|line| ... } -> self (18622.0)

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

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

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

テキスト読み込みメソ...
...と各行の末尾から "\n", "\r", または "\r\n" を取り除きます。

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

//emlist[例: 引数なし][ruby]{
IO
.write("testfile", "This is line one,\nThis is line two,\nThis is line three,\nAnd so...
...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, chomp: false) -> Enumerator (18622.0)

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

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

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

テキスト読み込みメソ...
...と各行の末尾から "\n", "\r", または "\r\n" を取り除きます。

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

//emlist[例: 引数なし][ruby]{
IO
.write("testfile", "This is line one,\nThis is line two,\nThis is line three,\nAnd so...
...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, chomp: false) {|line| ... } -> self (18622.0)

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

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

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

テキスト読み込みメソ...
...と各行の末尾から "\n", "\r", または "\r\n" を取り除きます。

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

//emlist[例: 引数なし][ruby]{
IO
.write("testfile", "This is line one,\nThis is line two,\nThis is line three,\nAnd so...
...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 {|ch| ... } -> self (18622.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_line(limit, chomp: false) -> Enumerator (18622.0)

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

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

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

テキスト読み込みメソ...
...と各行の末尾から "\n", "\r", または "\r\n" を取り除きます。

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

//emlist[例: 引数なし][ruby]{
IO
.write("testfile", "This is line one,\nThis is line two,\nThis is line three,\nAnd so...
...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(limit, chomp: false) {|line| ... } -> self (18622.0)

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

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

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

テキスト読み込みメソ...
...と各行の末尾から "\n", "\r", または "\r\n" を取り除きます。

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

//emlist[例: 引数なし][ruby]{
IO
.write("testfile", "This is line one,\nThis is line two,\nThis is line three,\nAnd so...
...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 = $/, chomp: false) -> Enumerator (18622.0)

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

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

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

テキスト読み込みメソ...
...と各行の末尾から "\n", "\r", または "\r\n" を取り除きます。

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

//emlist[例: 引数なし][ruby]{
IO
.write("testfile", "This is line one,\nThis is line two,\nThis is line three,\nAnd so...
...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 = $/, chomp: false) {|line| ... } -> self (18622.0)

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

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

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

テキスト読み込みメソ...
...と各行の末尾から "\n", "\r", または "\r\n" を取り除きます。

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

//emlist[例: 引数なし][ruby]{
IO
.write("testfile", "This is line one,\nThis is line two,\nThis is line three,\nAnd so...
...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, chomp: false) -> Enumerator (18622.0)

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

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

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

テキスト読み込みメソ...
...と各行の末尾から "\n", "\r", または "\r\n" を取り除きます。

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

//emlist[例: 引数なし][ruby]{
IO
.write("testfile", "This is line one,\nThis is line two,\nThis is line three,\nAnd so...
...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, chomp: false) {|line| ... } -> self (18622.0)

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

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

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

テキスト読み込みメソ...
...と各行の末尾から "\n", "\r", または "\r\n" を取り除きます。

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

//emlist[例: 引数なし][ruby]{
IO
.write("testfile", "This is line one,\nThis is line two,\nThis is line three,\nAnd so...
...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.foreach(path, rs = $/, chomp: false) -> Enumerator (18622.0)

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

...][ruby]{
IO
.write("testfile", "line1\nline2,\nline3\n")
IO
.foreach("testfile") # => #<Enumerator: IO:foreach("testfile")>
IO
.foreach("testfile") { |x| print "GOT ", x }
# => GOT line1
# GOT line2,
# GOT line3
//}

//emlist[例:カンマを行の区切りに指定( rs = "," )][ruby]{
IO
.write("t...
...", "line1,line2,line3")
IO
.foreach("testfile", ",") { |x| puts "GOT #{x}" }
# => GOT line1,
# GOT line2,
# GOT line3
//}

//emlist[例: 各行の末尾から "\n", "\r", または "\r\n" を取り除く(chomp = true)][ruby]{
IO
.write("testfile", "line1\nline2,\nline3\n")
IO
.foreach("testfile", c...

IO.foreach(path, rs = $/, chomp: false) {|line| ... } -> nil (18622.0)

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

...][ruby]{
IO
.write("testfile", "line1\nline2,\nline3\n")
IO
.foreach("testfile") # => #<Enumerator: IO:foreach("testfile")>
IO
.foreach("testfile") { |x| print "GOT ", x }
# => GOT line1
# GOT line2,
# GOT line3
//}

//emlist[例:カンマを行の区切りに指定( rs = "," )][ruby]{
IO
.write("t...
...", "line1,line2,line3")
IO
.foreach("testfile", ",") { |x| puts "GOT #{x}" }
# => GOT line1,
# GOT line2,
# GOT line3
//}

//emlist[例: 各行の末尾から "\n", "\r", または "\r\n" を取り除く(chomp = true)][ruby]{
IO
.write("testfile", "line1\nline2,\nline3\n")
IO
.foreach("testfile", c...

IO#external_encoding -> Encoding | nil (18604.0)

IO の外部エンコーディングを返します。 外部エンコーディングが指定されていない場合は nil を返します。 ただし読み込み専用モードの場合は Encoding.default_external になります。

...
IO
の外部エンコーディングを返します。
外部エンコーディングが指定されていない場合は nil を返します。
ただし読み込み専用モードの場合は Encoding.default_external になります。

//emlist[例][ruby]{
IO
.write("testfile", "abcde")
File.ope...

IO#internal_encoding -> Encoding | nil (18604.0)

IO の内部エンコーディングを返します。 内部エンコーディングが指定されていない場合は nil を返します。

...
IO
の内部エンコーディングを返します。
内部エンコーディングが指定されていない場合は nil を返します。

//emlist[例][ruby]{
IO
.write("testfile", "abcde")
File.open("testfile") do |f|
p f.internal_encoding # => nil
f.set_encoding("ASCII-8BIT", "EUC-JP"...

IO#set_encoding_by_bom -> Encoding | nil (18604.0)

BOM から IO のエンコーディングを設定します。

...BOM から IO のエンコーディングを設定します。

自身が BOM から始まる場合、BOM を読み進めて外部エンコーディングをセットし、セットしたエンコーディングを返します。
BOM が見つからなかった場合は nil を返します。

...
....open("bom.txt", "rb") do |io|
p io.set_encoding_by_bom #=> #<Encoding:UTF-8>
str = io.read
p str #=> "abc"
p str.encoding #=> #<Encoding:UTF-8>
end

File.write("nobom.txt", "abc")
File.open("nobom.txt", "rb") do |io|
p io.set_encoding_by_bom #=>...

絞り込み条件を変える

IO.copy_stream(src, dst, copy_length = nil) -> Integer (18604.0)

指定された src から dst へコピーします。 コピーしたバイト数を返します。

...指定された src から dst へコピーします。
コピーしたバイト数を返します。

コピー元の src が IO オブジェクトの場合は、src のオフセットから
ファイル名の場合はファイルの最初からコピーを開始します。
コピー先の dst...
...す。

src が IO オブジェクトでかつ src_offset が指定されている場合、
src のオフセット(src.pos)は変更されません。

@param src コピー元となる IO オブジェクトかファイル名を指定します。

@param dst コピー先となる IO オブジェク...
...数値で指定します。

//emlist[例][ruby]{
IO
.write("filetest", "abcdefghij")
IO
.copy_stream("filetest", "filecopy", 2) # => 2
IO
.read("filecopy") # => "ab"
IO
.copy_stream("filetest", "filecopy", 3, 4) # => 3
IO
.read("filecopy") # => "e...

IO.copy_stream(src, dst, copy_length, src_offset) -> Integer (18604.0)

指定された src から dst へコピーします。 コピーしたバイト数を返します。

...指定された src から dst へコピーします。
コピーしたバイト数を返します。

コピー元の src が IO オブジェクトの場合は、src のオフセットから
ファイル名の場合はファイルの最初からコピーを開始します。
コピー先の dst...
...す。

src が IO オブジェクトでかつ src_offset が指定されている場合、
src のオフセット(src.pos)は変更されません。

@param src コピー元となる IO オブジェクトかファイル名を指定します。

@param dst コピー先となる IO オブジェク...
...数値で指定します。

//emlist[例][ruby]{
IO
.write("filetest", "abcdefghij")
IO
.copy_stream("filetest", "filecopy", 2) # => 2
IO
.read("filecopy") # => "ab"
IO
.copy_stream("filetest", "filecopy", 3, 4) # => 3
IO
.read("filecopy") # => "e...

IO#read_nonblock(maxlen, outbuf = nil, exception: true) -> String | Symbol | nil (18424.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#write_nonblock(string, exception: true) -> Integer | :wait_writable (18376.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) が失敗した場合に発生し...

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

select(2) を実行します。

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

@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.console -> File | nil (18352.0)

端末を File オブジェクトで返します。

...端末を File オブジェクトで返します。

require "io/console"
IO
.console # => #<File:/dev/tty>

プロセスが端末から切り離された状態で実行すると nil を返します。

戻り値はプラットフォームや環境に依存します。...

IO.try_convert(obj) -> IO | nil (18352.0)

obj を to_io メソッドによって IO オブジェクトに変換します。 変換できなかった場合は nil を返します。

...obj を to_io メソッドによって IO オブジェクトに変換します。
変換できなかった場合は nil を返します。

IO
.try_convert(STDOUT) # => STDOUT
IO
.try_convert("STDOUT") # => nil...

IO#set_encoding(enc_str, **opts) -> self (18340.0)

IO のエンコーディングを設定します。

...
IO
のエンコーディングを設定します。

引数が "A:B" のようにコロンで区切られた文字列の場合は、
A を外部エンコーディング、 B を内部エンコーディングに指定します。

引数が一つで、上のような形式でない場合には、...
...coding オブジェクトを指定します。

@param int_enc 内部エンコーディングを表す文字列か Encoding オブジェクトを指定します。
@param opts エンコーディング変換のオプション
例:
io
= File.open(file)
io
.set_encoding("ASCII-8BIT", "EUC-JP")...

IO#set_encoding(ext_enc) -> self (18340.0)

IO のエンコーディングを設定します。

...
IO
のエンコーディングを設定します。

引数が "A:B" のようにコロンで区切られた文字列の場合は、
A を外部エンコーディング、 B を内部エンコーディングに指定します。

引数が一つで、上のような形式でない場合には、...
...coding オブジェクトを指定します。

@param int_enc 内部エンコーディングを表す文字列か Encoding オブジェクトを指定します。
@param opts エンコーディング変換のオプション
例:
io
= File.open(file)
io
.set_encoding("ASCII-8BIT", "EUC-JP")...

IO#set_encoding(ext_enc, int_enc, **opts) -> self (18340.0)

IO のエンコーディングを設定します。

...
IO
のエンコーディングを設定します。

引数が "A:B" のようにコロンで区切られた文字列の場合は、
A を外部エンコーディング、 B を内部エンコーディングに指定します。

引数が一つで、上のような形式でない場合には、...
...coding オブジェクトを指定します。

@param int_enc 内部エンコーディングを表す文字列か Encoding オブジェクトを指定します。
@param opts エンコーディング変換のオプション
例:
io
= File.open(file)
io
.set_encoding("ASCII-8BIT", "EUC-JP")...

絞り込み条件を変える

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

指定された char を読み戻します。

...指定された char を読み戻します。

@param char 読み戻したい1文字かそのコードポイントを指定します。

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

IO#each_codepoint -> Enumerator (18325.0)

IO の各コードポイントに対して繰り返しブロックを呼びだします。

...
IO
の各コードポイントに対して繰り返しブロックを呼びだします。

ブロックの引数にはコードポイントを表す整数が渡されます。

ブロックを省略した場合には、Enumerator を返します。

//emlist[例][ruby]{
IO
.write("testfile", "abcde...

IO#each_codepoint {|c| ... } -> self (18325.0)

IO の各コードポイントに対して繰り返しブロックを呼びだします。

...
IO
の各コードポイントに対して繰り返しブロックを呼びだします。

ブロックの引数にはコードポイントを表す整数が渡されます。

ブロックを省略した場合には、Enumerator を返します。

//emlist[例][ruby]{
IO
.write("testfile", "abcde...

IO#close -> nil (18322.0)

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

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

以後このポートに対して入出力を行うと例外 IOError が発生しま
す。ガーベージコレクトの際にはクローズされていない IO ポートはクロー
ズされます。
self がパイプでプロセスにつながっていれ...
...se Errno::EXXX close に失敗した場合に発生します。

//emlist[例][ruby]{
IO
.write("testfile", "test")
f = File.open("testfile")
f.read # => "test"
f.close
# f.read # => IOError (すでに close しているので read できない)
//}

@see IO#closed?, IO#close_read, IO#close_write...

IO#each_byte -> Enumerator (18322.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#pathconf(name) -> Integer | nil (18322.0)

fpathconf(3) で取得したファイルの設定変数の値を返します。

...場合は nil
を返します。(fpathconf(3) が -1 を返し、errno が設定されていない
場合)

@param name Etc モジュールの PC_ で始まる定数のいずれかを指定します。

//emlist[][ruby]{
require 'etc'
IO
.pipe {|r, w|
p w.pathconf(Etc::PC_PIPE_BUF) # => 4096
}
//}...

IO#autoclose=(bool) (18304.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 (18304.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#clone -> IO (18304.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#close_on_exec=(bool) (18304.0)

自身に close-on-exec フラグを設定します。

...2)
@param bool 自身の close-on-exec フラグを true か false で指定します。

f = open("/dev/null")
f.close_on_exec = true
system("cat", "/proc/self/fd/#{f.fileno}") # cat: /proc/self/fd/3: No such file or directory
f.closed? #=> false

@see IO#close_on_exec?...

絞り込み条件を変える

IO#close_on_exec? -> bool (18304.0)

自身に close-on-exec フラグが設定されていた場合 true を返します。 そうでない場合に false を返します。

...ます。
そうでない場合に false を返します。

f = open("/dev/null")
f.close_on_exec? #=> true
f.close_on_exec = false
f.close_on_exec? #=> false
f.close_on_exec = true
f.close_on_exec? #=> true

@see IO#close_on_exec=...

IO#close_read -> nil (18304.0)

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

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

既に close されていた場合には単に無視されます。

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

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

//emlist[例][ruby]{
IO
.popen("/bin/sh","r+") do |f|
f.close_read
# f.readlines # => IOError: not opened for reading
end
//}

@see IO#close, IO#closed?, IO#close_write...

IO#close_write -> nil (18304.0)

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

... IO を close します。

既に close されていた場合には単に無視されます。

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

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

//emlist[例][ruby]{
f = IO.popen...
...("/bin/sh","r+") do |f|
f.close_write
# f.print "nowhere" # => IOError: not opened for writing
end
//}

@see IO#close, IO#closed?, IO#close_read...

IO#closed? -> bool (18304.0)

self が完全に(読み込み用と書き込み用の両方が)クローズされている場合に true を返します。 そうでない場合は false を返します。

...t[例][ruby]{
IO
.write("testfile", "test")
f = File.new("testfile")
f.close # => nil
f.closed? # => true
f = IO.popen("/bin/sh","r+")
f.close_write # => nil
f.closed? # => false
f.close_read # => nil
f.closed? # => true
//}

@see IO#close, IO#close_read, IO#close_write...

IO#cooked {|io| ... } -> object (18304.0)

cooked モードを有効にして指定されたブロックを評価します。

...す。ブロックを評価した結果を返します。

@raise LocalJumpError ブロックを指定しなかった場合に発生します。

以下の例では、標準入力からエコーバック付きで文字列を一行読み込みます。

require "io/console"
STDIN.cooked(&:gets)...

絞り込み条件を変える

IO#cooked! -> self (18304.0)

cooked モードを有効にします。端末のモードを後で元に戻す必要がある場合は IO#cooked を使用してください。

...cooked モードを有効にします。端末のモードを後で元に戻す必要がある場合は
IO
#cooked を使用してください。

@return 自身を返します。

@see IO#cooked...

IO#echo=(flag) (18304.0)

文字入力時のエコーバックが有効かどうかを設定します。

文字入力時のエコーバックが有効かどうかを設定します。

@param flag true を指定した場合、文字入力時のエコーバックが有効に設定さ
れます。

IO#echo? -> bool (18304.0)

文字入力時のエコーバックが有効かどうかを返します。

文字入力時のエコーバックが有効かどうかを返します。

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

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

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

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

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

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

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

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

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

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

絞り込み条件を変える

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

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

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

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

@param...
...ます。

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

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

//emlist[例][ruby]{
require "fcntl"

IO
.write("testfile", "abcde")
# ファイル状態フラグを読み出す
File.open("testfile") do |...

IO#fdatasync -> 0 (18304.0)

IO のすべてのバッファされているデータを直ちにディスクに書き込みます。

...
IO
のすべてのバッファされているデータを直ちにディスクに書き込みます。

fdatasync(2) をサポートしていない OS 上では代わりに
IO
#fsync を呼びだします。

IO
#fsync との違いは fdatasync(2) を参照してください。

@raise NotImplemented...

IO#fsync -> 0 (18304.0)

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

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

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

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

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

IO#getc -> String | nil (18304.0)

IO ポートから外部エンコーディングに従い 1 文字読み込んで返します。 EOF に到達した時には nil を返します。

...
IO
ポートから外部エンコーディングに従い 1 文字読み込んで返します。
EOF に到達した時には nil を返します。

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

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

@raise IOError...
...ープンされていなければ発生します。

例:
File.write("testfile", "test")
f = File.new("testfile")
p f.getc #=> "い"
p f.getc #=> "ろ"
p f.getc #=> "は"
f.read
f.getc #=> nil

@see IO#readchar...

IO#getch -> String (18304.0)

raw モードで一文字読み込んだ結果を返します。

raw モードで一文字読み込んだ結果を返します。

絞り込み条件を変える

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

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

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

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

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

IO#noecho {|io| ... } -> object (18304.0)

文字入力時のエコーバックを無効に設定してブロックを評価します。

...す。ブロックを評価した結果を返します。

以下の例では、標準入力からエコーバックなしで文字列を一行読み込みます。

require "io/console"
STDIN.noecho(&:gets)

@raise LocalJumpError ブロックを指定しなかった場合に発生します。...

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

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

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

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

IO#nonblock=(bool) (18304.0)

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

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

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

IO#nonblock? -> bool (18304.0)

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

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

絞り込み条件を変える

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

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

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

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

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

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

IO#readchar -> String (18304.0)

IO ポートから 1 文字読み込んで返します。 EOF に到達した時には EOFError が発生します。

...
IO
ポートから 1 文字読み込んで返します。
EOF に到達した時には EOFError が発生します。

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

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

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

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

f = File.new("testfile")
p f.readchar #=> "い"
p f.readchar #=> "ろ"
p f.readchar #=> "は"
f.read
f.readchar...
...#=> EOFError

@see IO#getc...

IO#sync -> bool (18304.0)

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

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

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

//emlist[例][ruby]{
File.open("testfile", "w") do |f|
f.sync # => false
f.sync = true
f.sync...

IO#sync=(newstate) (18304.0)

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

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

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

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

@see IO#sync...

IO.console_size -> [Integer, Integer] (18304.0)

端末のサイズを [rows, columns] で返します。

...端末のサイズを [rows, columns] で返します。

io
/console が利用できない場合は、IO.default_console_size
の値を返します。

@see IO.default_console_size...

絞り込み条件を変える

IO.default_console_size -> [Integer, Integer] (18304.0)

デフォルトの端末のサイズを [rows, columns] で返します。

デフォルトの端末のサイズを [rows, columns] で返します。

IO::SEEK_CUR -> Integer (18304.0)

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

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

IO#dup -> IO (9004.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.pipe(ext_enc, int_enc, **opts) -> [IO] (652.0)

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

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

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

ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され...
...ソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。

得られる2つの IO オブジェクトのエンコーディングを引数で指...
...コーディングなどを設定するキーワード引数(see IO.new)

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

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

IO.pipe(ext_enc, int_enc, **opts) {|read_io, write_io| ... } -> object (652.0)

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

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

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

ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され...
...ソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。

得られる2つの IO オブジェクトのエンコーディングを引数で指...
...コーディングなどを設定するキーワード引数(see IO.new)

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

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

絞り込み条件を変える

IO.popen([env = {}, [cmdname, arg0], *args, execopt={}], mode = "r", opt={}) -> IO (373.0)

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

...出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

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

サブプロセスを指定する方法は2...
...生成した IO オブジェクトを引数にブ
ロックを実行し、ブロックの実行結果を返します。ブロックの実行後、生成したパイ
プは自動的にクローズされます。

p IO.popen("cat", "r+") {|io|
io
.puts "foo"
io
.close_write
io
.gets
}
#...
...ョンや、パイプ IO オブジェクトの属性(エンコーディングや
読み書き能力)を指定することができます。
プロセス起動のためのオプションは Kernel.#spawn と、
パイプオブジェクトの属性の指定のオプションは IO.new と共通です...

IO.popen([env = {}, [cmdname, arg0], *args, execopt={}], mode = "r", opt={}) {|f| ... } -> object (373.0)

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

...出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

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

サブプロセスを指定する方法は2...
...生成した IO オブジェクトを引数にブ
ロックを実行し、ブロックの実行結果を返します。ブロックの実行後、生成したパイ
プは自動的にクローズされます。

p IO.popen("cat", "r+") {|io|
io
.puts "foo"
io
.close_write
io
.gets
}
#...
...ョンや、パイプ IO オブジェクトの属性(エンコーディングや
読み書き能力)を指定することができます。
プロセス起動のためのオプションは Kernel.#spawn と、
パイプオブジェクトの属性の指定のオプションは IO.new と共通です...

IO.popen([env = {}, cmdname, *args, execopt={}], mode = "r", opt={}) -> IO (373.0)

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

...出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

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

サブプロセスを指定する方法は2...
...生成した IO オブジェクトを引数にブ
ロックを実行し、ブロックの実行結果を返します。ブロックの実行後、生成したパイ
プは自動的にクローズされます。

p IO.popen("cat", "r+") {|io|
io
.puts "foo"
io
.close_write
io
.gets
}
#...
...ョンや、パイプ IO オブジェクトの属性(エンコーディングや
読み書き能力)を指定することができます。
プロセス起動のためのオプションは Kernel.#spawn と、
パイプオブジェクトの属性の指定のオプションは IO.new と共通です...

IO.popen([env = {}, cmdname, *args, execopt={}], mode = "r", opt={}) {|f| ... } -> object (373.0)

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

...出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

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

サブプロセスを指定する方法は2...
...生成した IO オブジェクトを引数にブ
ロックを実行し、ブロックの実行結果を返します。ブロックの実行後、生成したパイ
プは自動的にクローズされます。

p IO.popen("cat", "r+") {|io|
io
.puts "foo"
io
.close_write
io
.gets
}
#...
...ョンや、パイプ IO オブジェクトの属性(エンコーディングや
読み書き能力)を指定することができます。
プロセス起動のためのオプションは Kernel.#spawn と、
パイプオブジェクトの属性の指定のオプションは IO.new と共通です...

IO.popen(env = {}, [[cmdname, arg0], *args, execopt={}], mode = "r", opt={}) -> IO (373.0)

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

...出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

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

サブプロセスを指定する方法は2...
...生成した IO オブジェクトを引数にブ
ロックを実行し、ブロックの実行結果を返します。ブロックの実行後、生成したパイ
プは自動的にクローズされます。

p IO.popen("cat", "r+") {|io|
io
.puts "foo"
io
.close_write
io
.gets
}
#...
...ョンや、パイプ IO オブジェクトの属性(エンコーディングや
読み書き能力)を指定することができます。
プロセス起動のためのオプションは Kernel.#spawn と、
パイプオブジェクトの属性の指定のオプションは IO.new と共通です...

絞り込み条件を変える

IO.popen(env = {}, [[cmdname, arg0], *args, execopt={}], mode = "r", opt={}) {|f| ... } -> object (373.0)

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

...出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

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

サブプロセスを指定する方法は2...
...生成した IO オブジェクトを引数にブ
ロックを実行し、ブロックの実行結果を返します。ブロックの実行後、生成したパイ
プは自動的にクローズされます。

p IO.popen("cat", "r+") {|io|
io
.puts "foo"
io
.close_write
io
.gets
}
#...
...ョンや、パイプ IO オブジェクトの属性(エンコーディングや
読み書き能力)を指定することができます。
プロセス起動のためのオプションは Kernel.#spawn と、
パイプオブジェクトの属性の指定のオプションは IO.new と共通です...

IO.popen(env = {}, [cmdname, *args, execopt={}], mode = "r", opt={}) -> IO (373.0)

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

...出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

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

サブプロセスを指定する方法は2...
...生成した IO オブジェクトを引数にブ
ロックを実行し、ブロックの実行結果を返します。ブロックの実行後、生成したパイ
プは自動的にクローズされます。

p IO.popen("cat", "r+") {|io|
io
.puts "foo"
io
.close_write
io
.gets
}
#...
...ョンや、パイプ IO オブジェクトの属性(エンコーディングや
読み書き能力)を指定することができます。
プロセス起動のためのオプションは Kernel.#spawn と、
パイプオブジェクトの属性の指定のオプションは IO.new と共通です...

IO.popen(env = {}, [cmdname, *args, execopt={}], mode = "r", opt={}) {|f| ... } -> object (373.0)

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

...出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

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

サブプロセスを指定する方法は2...
...生成した IO オブジェクトを引数にブ
ロックを実行し、ブロックの実行結果を返します。ブロックの実行後、生成したパイ
プは自動的にクローズされます。

p IO.popen("cat", "r+") {|io|
io
.puts "foo"
io
.close_write
io
.gets
}
#...
...ョンや、パイプ IO オブジェクトの属性(エンコーディングや
読み書き能力)を指定することができます。
プロセス起動のためのオプションは Kernel.#spawn と、
パイプオブジェクトの属性の指定のオプションは IO.new と共通です...

IO.popen(env = {}, command, mode = "r", opt={}) -> IO (373.0)

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

...出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

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

サブプロセスを指定する方法は2...
...生成した IO オブジェクトを引数にブ
ロックを実行し、ブロックの実行結果を返します。ブロックの実行後、生成したパイ
プは自動的にクローズされます。

p IO.popen("cat", "r+") {|io|
io
.puts "foo"
io
.close_write
io
.gets
}
#...
...ョンや、パイプ IO オブジェクトの属性(エンコーディングや
読み書き能力)を指定することができます。
プロセス起動のためのオプションは Kernel.#spawn と、
パイプオブジェクトの属性の指定のオプションは IO.new と共通です...

IO.popen(env = {}, command, mode = "r", opt={}) {|f| ... } -> object (373.0)

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

...出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。

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

サブプロセスを指定する方法は2...
...生成した IO オブジェクトを引数にブ
ロックを実行し、ブロックの実行結果を返します。ブロックの実行後、生成したパイ
プは自動的にクローズされます。

p IO.popen("cat", "r+") {|io|
io
.puts "foo"
io
.close_write
io
.gets
}
#...
...ョンや、パイプ IO オブジェクトの属性(エンコーディングや
読み書き能力)を指定することができます。
プロセス起動のためのオプションは Kernel.#spawn と、
パイプオブジェクトの属性の指定のオプションは IO.new と共通です...

絞り込み条件を変える

IO.pipe {|read_io, write_io| ... } -> object (352.0)

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

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

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

ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され...
...ソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。

得られる2つの IO オブジェクトのエンコーディングを引数で指...
...コーディングなどを設定するキーワード引数(see IO.new)

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

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

IO.pipe(enc_str, **opts) -> [IO] (352.0)

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

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

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

ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され...
...ソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。

得られる2つの IO オブジェクトのエンコーディングを引数で指...
...コーディングなどを設定するキーワード引数(see IO.new)

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

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

IO.pipe(enc_str, **opts) {|read_io, write_io| ... } -> object (352.0)

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

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

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

ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され...
...ソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。

得られる2つの IO オブジェクトのエンコーディングを引数で指...
...コーディングなどを設定するキーワード引数(see IO.new)

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

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

IO.pipe(ext_enc) -> [IO] (352.0)

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

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

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

ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され...
...ソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。

得られる2つの IO オブジェクトのエンコーディングを引数で指...
...コーディングなどを設定するキーワード引数(see IO.new)

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

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

IO.pipe(ext_enc) {|read_io, write_io| ... } -> object (352.0)

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

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

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

ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され...
...ソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。

得られる2つの IO オブジェクトのエンコーディングを引数で指...
...コーディングなどを設定するキーワード引数(see IO.new)

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

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

絞り込み条件を変える

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

第一引数に文字列 "-" が指定された時、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"

opt ではエンコーディングの設定やプロセス起動のためのオプションが指定できます。
IO
.new や Kernel.#spa...

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

第一引数に文字列 "-" が指定された時、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"

opt ではエンコーディングの設定やプロセス起動のためのオプションが指定できます。
IO
.new や Kernel.#spa...

IO#ungetbyte(c) -> nil (325.0)

指定したバイト列を書き戻します。

...ます。

2バイト以上の書き戻しは仕様として保証しません。

このメソッドはバッファを経由しない読み出し(IO#sysread など)
には影響しません。

@param c バイト列(文字列)、もしくは0から255までの整数

例:

f = File.new("testfile...

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

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

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

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

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

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

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

IO#advise(advice, offset=0, len=0) -> nil (304.0)

posix_fadvise(2) を呼びだし、 ファイルへのアクセスパターンをOSに知らせます。

...表すシンボル
@param offset パターンを指定するデータの先頭位置
@param len パターンを指定するデータの長さ

@raise IOError ストリームが既に閉じられているときに発生する例外
@raise Errno::EBADF ファイルデスクリプタが不正である...

絞り込み条件を変える

IO#gets(limit, chomp: false) -> String | nil (304.0)

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

...il を返します。

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

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

limit で最大の読み込みバイト数を指定します。ただし
ファイ...
...の読み込みバイト数
@param chomp true を指定すると各行の末尾から "\n", "\r", または "\r\n" を取り除きます。

@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#gets(rs = $/, chomp: false) -> String | nil (304.0)

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

...il を返します。

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

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

limit で最大の読み込みバイト数を指定します。ただし
ファイ...
...の読み込みバイト数
@param chomp true を指定すると各行の末尾から "\n", "\r", または "\r\n" を取り除きます。

@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#gets(rs, limit, chomp: false) -> String | nil (304.0)

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

...il を返します。

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

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

limit で最大の読み込みバイト数を指定します。ただし
ファイ...
...の読み込みバイト数
@param chomp true を指定すると各行の末尾から "\n", "\r", または "\r\n" を取り除きます。

@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#raw(min: 1, time: 0, intr: false) {|io| ... } -> object (304.0)

raw モード、行編集を無効にして指定されたブロックを評価します。

...シグナルを生成する制御文字が有効になります。端末の制御については、 termios のマニュアル:https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/termios.h.html を参照してください。

@raise LocalJumpError ブロックを指定しなかった場合...
...に発生します。

@raise ArgumentError intr に true または false 以外の値を指定した場合に発生します。

以下の例では、標準入力からエコーバックなしで文字列を一行読み込みます。

require "io/console"
STDIN.raw(&:gets)...

IO#readline(limit, chomp: false) -> String (304.0)

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

...が発生します。

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

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

limit で最大読み込みバイト数を指定します。ただしマルチバイト...
...と各行の末尾から "\n", "\r", または "\r\n" を取り除きます。

@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#readline(rs = $/, chomp: false) -> String (304.0)

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

...が発生します。

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

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

limit で最大読み込みバイト数を指定します。ただしマルチバイト...
...と各行の末尾から "\n", "\r", または "\r\n" を取り除きます。

@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#readline(rs, limit, chomp: false) -> String (304.0)

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

...が発生します。

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

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

limit で最大読み込みバイト数を指定します。ただしマルチバイト...
...と各行の末尾から "\n", "\r", または "\r\n" を取り除きます。

@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(limit, chomp: false) -> [String] (304.0)

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

...@param chomp true を指定すると各行の末尾から rs を取り除きます。

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

//emlist[例][ruby]{
IO
.write("testfile", "line1,\nline2,\nline3,\n")
File.open("testfile") { |f| p f.readlines }...
...chomp = true)][ruby]{
IO
.write("testfile", "line1,\rline2,\r\nline3,\n")
File.open("testfile") { |f| p f.readlines(chomp: true) } # => ["line1,\rline2,", "line3,"]
File.open("testfile") { |f| p f.readlines("\r", chomp: true) } # => ["line1,", "line2,", "\nline3,\n"]
//}

@see $/, IO#gets...

IO#readlines(rs = $/, chomp: false) -> [String] (304.0)

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

...@param chomp true を指定すると各行の末尾から rs を取り除きます。

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

//emlist[例][ruby]{
IO
.write("testfile", "line1,\nline2,\nline3,\n")
File.open("testfile") { |f| p f.readlines }...
...chomp = true)][ruby]{
IO
.write("testfile", "line1,\rline2,\r\nline3,\n")
File.open("testfile") { |f| p f.readlines(chomp: true) } # => ["line1,\rline2,", "line3,"]
File.open("testfile") { |f| p f.readlines("\r", chomp: true) } # => ["line1,", "line2,", "\nline3,\n"]
//}

@see $/, IO#gets...

IO#readlines(rs, limit, chomp: false) -> [String] (304.0)

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

...@param chomp true を指定すると各行の末尾から rs を取り除きます。

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

//emlist[例][ruby]{
IO
.write("testfile", "line1,\nline2,\nline3,\n")
File.open("testfile") { |f| p f.readlines }...
...chomp = true)][ruby]{
IO
.write("testfile", "line1,\rline2,\r\nline3,\n")
File.open("testfile") { |f| p f.readlines(chomp: true) } # => ["line1,\rline2,", "line3,"]
File.open("testfile") { |f| p f.readlines("\r", chomp: true) } # => ["line1,", "line2,", "\nline3,\n"]
//}

@see $/, IO#gets...

絞り込み条件を変える

<< 1 2 > >>