るりまサーチ (Ruby 2.6.0)

最速Rubyリファレンスマニュアル検索!
87件ヒット [1-87件を表示] (0.031秒)
トップページ > バージョン:2.6.0[x] > クエリ:io[x] > ライブラリ:stringio[x]

別のキーワード

  1. io popen
  2. io pipe
  3. io each
  4. io lines
  5. io readlines

クラス

キーワード

検索結果

StringIO (18073.0)

文字列に IO と同じインタフェースを持たせるためのクラスです。

...クラスです。

例:

require "stringio"
sio = StringIO.new("hoge", 'r+')
p sio.read #=> "hoge"
sio.rewind
p sio.read(1) #=> "h"
sio.write("OGE")
sio.rewind
p sio.read #=> "hOGE"

=== 例外
StringIO
オブジェクトは大抵の場...
...合 IO オブジェクトと同じ例外を発生させます。
例えば次の例では write は IOError を発生させます。

require "stringio"
sio = StringIO.new("hoge")
sio.close
sio.write("a")
# => in `write': not opened for writing (IOError)...

StringIO#reopen(sio) -> StringIO (9607.0)

自身が表す文字列が指定された StringIO と同じものになります。

...自身が表す文字列が指定された StringIO と同じものになります。

@param sio 自身が表したい StringIO を指定します。

例:

require 'stringio'
sio = StringIO.new("hoge", 'r+')
sio2 = StringIO.new("foo", 'r+')
sio.reopen(sio2)
p sio.read...

StringIO.new(string = '', mode = 'r+') -> StringIO (9490.0)

StringIO オブジェクトを生成して返します。

...
StringIO
オブジェクトを生成して返します。

与えられた string がフリーズされている場合には、mode はデフォルトでは読み取りのみに設定されます。
ブロックを与えた場合は生成した StringIO オブジェクトを引数としてブロッ...
...クを評価してその結果を返します。

@param string 生成される StringIO のデータを文字列で指定します。
この文字列はバッファとして使われます。StringIO#write などによって、
string 自身も書き換えられます。...
...ーズされていて、mode が書き込み可能に設定されている場合に発生します。

require 'stringio'

s = "foo"
io = StringIO.new(s)
p io.getc # => 102
p io.pos # => 1
p io.size # => 3
io << "bar...

StringIO.open(string = &#39;&#39;, mode = &#39;r+&#39;) -> StringIO (9490.0)

StringIO オブジェクトを生成して返します。

...
StringIO
オブジェクトを生成して返します。

与えられた string がフリーズされている場合には、mode はデフォルトでは読み取りのみに設定されます。
ブロックを与えた場合は生成した StringIO オブジェクトを引数としてブロッ...
...クを評価してその結果を返します。

@param string 生成される StringIO のデータを文字列で指定します。
この文字列はバッファとして使われます。StringIO#write などによって、
string 自身も書き換えられます。...
...ーズされていて、mode が書き込み可能に設定されている場合に発生します。

require 'stringio'

s = "foo"
io = StringIO.new(s)
p io.getc # => 102
p io.pos # => 1
p io.size # => 3
io << "bar...

StringIO.open(string = &#39;&#39;, mode = &#39;r+&#39;) {|io| ... } -> object (9490.0)

StringIO オブジェクトを生成して返します。

...
StringIO
オブジェクトを生成して返します。

与えられた string がフリーズされている場合には、mode はデフォルトでは読み取りのみに設定されます。
ブロックを与えた場合は生成した StringIO オブジェクトを引数としてブロッ...
...クを評価してその結果を返します。

@param string 生成される StringIO のデータを文字列で指定します。
この文字列はバッファとして使われます。StringIO#write などによって、
string 自身も書き換えられます。...
...ーズされていて、mode が書き込み可能に設定されている場合に発生します。

require 'stringio'

s = "foo"
io = StringIO.new(s)
p io.getc # => 102
p io.pos # => 1
p io.size # => 3
io << "bar...

絞り込み条件を変える

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

自身の pos を whence の位置から offset バイトだけ移動させます。

自身の pos を whence の位置から offset バイトだけ移動させます。

@param offset 移動させたいバイト数を整数で指定します。

@param whence 以下のいずれかの定数を指定します。

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

@raise Errno::EINVAL offset + whence がマイナスである場合に発生します。

@raise ArgumentError whence が上の SEE...

StringIO#read_nonblock(maxlen, outbuf = nil, exception: true) -> String | nil (9325.0)

StringIO#readに似ていますが、 exception オプションに false を指定すると EOFError を発生させず nil を返します。

...
StringIO
#readに似ていますが、 exception オプションに false を指定すると EOFError を発生させず nil を返します。

@param len 読み込みたい長さを整数で指定します。StringIO#read と同じです。

@param outbuf 読み込んだ文字列を出力するバ...

StringIO#reopen(str, mode = &#39;r+&#39;) -> StringIO (9307.0)

自身が表す文字列が指定された文字列 str になります。

...ックを与えた場合は生成した StringIO オブジェクトを引数としてブロックを評価します。

@param str 自身が表したい文字列を指定します。
この文字列はバッファとして使われます。StringIO#write などによって、
s...
...のモードを指定します。

@raise Errno::EACCES str がフリーズされていて、mode が書き込み可能に設定されている場合に発生します。

例:

require 'stringio'
sio = StringIO.new("hoge", 'r+')
sio.reopen('foo')
p sio.read #=> "foo"...

StringIO#read -> String (9091.0)

自身から len バイト読み込んで返します。len が省略された場合は、最後まで読み込んで返します。 詳しい仕様は IO#read を参照して下さい。

自身から len バイト読み込んで返します。len が省略された場合は、最後まで読み込んで返します。
詳しい仕様は IO#read を参照して下さい。

@param len 読み込みたい長さを整数で指定します。詳しい仕様は IO#read を参照して下さい。

@param outbuf 読み込んだ文字列を出力するバッファを文字列で指定します。指定した文字列オブジェクトが
あらかじめ length 長の領域であれば、余計なメモリの割当てが行われません。指定した文字列の
長さが length と異なる場合、その文字列は一旦 length...

StringIO#read(len) -> String | nil (9091.0)

自身から len バイト読み込んで返します。len が省略された場合は、最後まで読み込んで返します。 詳しい仕様は IO#read を参照して下さい。

自身から len バイト読み込んで返します。len が省略された場合は、最後まで読み込んで返します。
詳しい仕様は IO#read を参照して下さい。

@param len 読み込みたい長さを整数で指定します。詳しい仕様は IO#read を参照して下さい。

@param outbuf 読み込んだ文字列を出力するバッファを文字列で指定します。指定した文字列オブジェクトが
あらかじめ length 長の領域であれば、余計なメモリの割当てが行われません。指定した文字列の
長さが length と異なる場合、その文字列は一旦 length...

絞り込み条件を変える

StringIO#read(len, outbuf) -> String (9091.0)

自身から len バイト読み込んで返します。len が省略された場合は、最後まで読み込んで返します。 詳しい仕様は IO#read を参照して下さい。

自身から len バイト読み込んで返します。len が省略された場合は、最後まで読み込んで返します。
詳しい仕様は IO#read を参照して下さい。

@param len 読み込みたい長さを整数で指定します。詳しい仕様は IO#read を参照して下さい。

@param outbuf 読み込んだ文字列を出力するバッファを文字列で指定します。指定した文字列オブジェクトが
あらかじめ length 長の領域であれば、余計なメモリの割当てが行われません。指定した文字列の
長さが length と異なる場合、その文字列は一旦 length...

StringIO#set_encoding(ext_enc) -> self (9043.0)

自身のエンコーディングを指定されたエンコーディングに設定します。

自身のエンコーディングを指定されたエンコーディングに設定します。

@param ext_enc エンコーディングを指定します。
nil を指定した場合は Encoding.default_external が
使われます。

@param int_enc 無視されます。IO クラスの API との互換性のために用
意されています。

@param opt 無視されます。IO クラスの API との互換性のために用意さ
れています。

StringIO#set_encoding(ext_enc, int_enc) -> self (9043.0)

自身のエンコーディングを指定されたエンコーディングに設定します。

自身のエンコーディングを指定されたエンコーディングに設定します。

@param ext_enc エンコーディングを指定します。
nil を指定した場合は Encoding.default_external が
使われます。

@param int_enc 無視されます。IO クラスの API との互換性のために用
意されています。

@param opt 無視されます。IO クラスの API との互換性のために用意さ
れています。

StringIO#set_encoding(ext_enc, int_enc, opt) -> self (9043.0)

自身のエンコーディングを指定されたエンコーディングに設定します。

自身のエンコーディングを指定されたエンコーディングに設定します。

@param ext_enc エンコーディングを指定します。
nil を指定した場合は Encoding.default_external が
使われます。

@param int_enc 無視されます。IO クラスの API との互換性のために用
意されています。

@param opt 無視されます。IO クラスの API との互換性のために用意さ
れています。

StringIO#chars -> Enumerator (9025.0)

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

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

自身は読み込み用にオープンされていなければなりません。


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

@see IO#each_char

絞り込み条件を変える

StringIO#chars {|c| ... } -> self (9025.0)

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

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

自身は読み込み用にオープンされていなければなりません。


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

@see IO#each_char

StringIO#codepoints -> Enumerator (9025.0)

自身の各コードポイントに対して繰り返します。

自身の各コードポイントに対して繰り返します。

@see IO#each_codepoint

StringIO#codepoints {|codepoint| ... } -> self (9025.0)

自身の各コードポイントに対して繰り返します。

自身の各コードポイントに対して繰り返します。

@see IO#each_codepoint

StringIO#each_char -> Enumerator (9025.0)

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

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

自身は読み込み用にオープンされていなければなりません。


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

@see IO#each_char

StringIO#each_char {|c| ... } -> self (9025.0)

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

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

自身は読み込み用にオープンされていなければなりません。


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

@see IO#each_char

絞り込み条件を変える

StringIO#each_codepoint -> Enumerator (9025.0)

自身の各コードポイントに対して繰り返します。

自身の各コードポイントに対して繰り返します。

@see IO#each_codepoint

StringIO#each_codepoint {|codepoint| ... } -> self (9025.0)

自身の各コードポイントに対して繰り返します。

自身の各コードポイントに対して繰り返します。

@see IO#each_codepoint

StringIO#readline(rs = $/) -> String (9025.0)

自身から 1 行読み込んで、その文字列を返します。

...た時に発生します。

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

require "stringio"
a = StringIO.new("hoge\nfoo\nbar\n")
a.readline #=> "hoge\n"
a.readline(nil) #=> "foo\nbar\n"
a.r...

StringIO#readpartial -> String (9025.0)

自身から len バイト読み込んで返します。 StringIO#read と同じです。ただし、文字列の終端に達した場合、EOFError を投げます。

...自身から len バイト読み込んで返します。
StringIO
#read と同じです。ただし、文字列の終端に達した場合、EOFError を投げます。

@param len 読み込みたい長さを整数で指定します。StringIO#read と同じです。

@param outbuf 読み込んだ...

StringIO#readpartial(len) -> String (9025.0)

自身から len バイト読み込んで返します。 StringIO#read と同じです。ただし、文字列の終端に達した場合、EOFError を投げます。

...自身から len バイト読み込んで返します。
StringIO
#read と同じです。ただし、文字列の終端に達した場合、EOFError を投げます。

@param len 読み込みたい長さを整数で指定します。StringIO#read と同じです。

@param outbuf 読み込んだ...

絞り込み条件を変える

StringIO#readpartial(len, outbuf) -> String (9025.0)

自身から len バイト読み込んで返します。 StringIO#read と同じです。ただし、文字列の終端に達した場合、EOFError を投げます。

...自身から len バイト読み込んで返します。
StringIO
#read と同じです。ただし、文字列の終端に達した場合、EOFError を投げます。

@param len 読み込みたい長さを整数で指定します。StringIO#read と同じです。

@param outbuf 読み込んだ...

StringIO#sysread -> String (9025.0)

自身から len バイト読み込んで返します。 StringIO#read と同じです。ただし、文字列の終端に達した場合、EOFError を投げます。

...自身から len バイト読み込んで返します。
StringIO
#read と同じです。ただし、文字列の終端に達した場合、EOFError を投げます。

@param len 読み込みたい長さを整数で指定します。StringIO#read と同じです。

@param outbuf 読み込んだ...

StringIO#sysread(len) -> String (9025.0)

自身から len バイト読み込んで返します。 StringIO#read と同じです。ただし、文字列の終端に達した場合、EOFError を投げます。

...自身から len バイト読み込んで返します。
StringIO
#read と同じです。ただし、文字列の終端に達した場合、EOFError を投げます。

@param len 読み込みたい長さを整数で指定します。StringIO#read と同じです。

@param outbuf 読み込んだ...

StringIO#sysread(len, outbuf) -> String (9025.0)

自身から len バイト読み込んで返します。 StringIO#read と同じです。ただし、文字列の終端に達した場合、EOFError を投げます。

...自身から len バイト読み込んで返します。
StringIO
#read と同じです。ただし、文字列の終端に達した場合、EOFError を投げます。

@param len 読み込みたい長さを整数で指定します。StringIO#read と同じです。

@param outbuf 読み込んだ...

StringIO#ungetbyte(char) -> nil (9025.0)

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

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

2バイト以上の読み戻しは保証されません。

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

@see IO#ungetbyte

絞り込み条件を変える

StringIO#<<(obj) -> self (9007.0)

obj を pos の位置に書き込みます。 必要なら obj.to_s を呼んで 文字列に変換します。 self を返します。

obj を pos の位置に書き込みます。 必要なら obj.to_s を呼んで
文字列に変換します。 self を返します。

@param obj 自身に書き込みたい、文字列か to_s が定義されたオブジェクトを指定します。

StringIO#binmode -> self (9007.0)

何もせずに self を返します。

何もせずに self を返します。

StringIO#bytes -> Enumerator (9007.0)

自身から 1 バイトずつ読み込み、整数 ch に変換し、それを引数として与えられたブロックを実行します。

...トずつ読み込み、整数 ch に変換し、それを引数として与えられたブロックを実行します。

@raise IOError 自身が読み取り不可なら発生します。

require "stringio"
a = StringIO.new("hoge")
a.each_byte{|ch| p ch }

#=>
104
111
103
101...

StringIO#bytes {|ch| ... } -> self (9007.0)

自身から 1 バイトずつ読み込み、整数 ch に変換し、それを引数として与えられたブロックを実行します。

...トずつ読み込み、整数 ch に変換し、それを引数として与えられたブロックを実行します。

@raise IOError 自身が読み取り不可なら発生します。

require "stringio"
a = StringIO.new("hoge")
a.each_byte{|ch| p ch }

#=>
104
111
103
101...

StringIO#close -> nil (9007.0)

自身を close します。以後、自身に対する読み書きが禁止されます。 close された StringIO に読み書き等が行われると IOError が発生します。

...自身を close します。以後、自身に対する読み書きが禁止されます。
close された StringIO に読み書き等が行われると IOError が発生します。

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

絞り込み条件を変える

StringIO#close_read -> nil (9007.0)

自身に対する読み取りを禁止します。

自身に対する読み取りを禁止します。

@raise IOError 自身がすでに読み取り不可だった場合に発生します。

StringIO#close_write -> nil (9007.0)

自身に対する書き込みを禁止します。

自身に対する書き込みを禁止します。

@raise IOError 自身がすでに書き込み不可だった場合に発生します。

StringIO#closed? -> bool (9007.0)

自身が既に close されていた場合に true を返します。そうでない場合は、false を返します。

...身が既に close されていた場合に true を返します。そうでない場合は、false を返します。

require "stringio"
sio = StringIO.open("hoge")
p sio.closed? # => false
sio.close_read
p sio.closed? # => false
sio.close_write
sio.closed...

StringIO#closed_read? -> bool (9007.0)

自身に対する読み取りが禁止されているなら true を返します。そうでない場合は、false を返します。

自身に対する読み取りが禁止されているなら true を返します。そうでない場合は、false を返します。

StringIO#closed_write? -> bool (9007.0)

自身に対する書き込みが禁止されているなら true を返します。そうでない場合は、false を返します。

自身に対する書き込みが禁止されているなら true を返します。そうでない場合は、false を返します。

絞り込み条件を変える

StringIO#each(rs = $/) -> Enumerator (9007.0)

自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。

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

@raise IOError 自身が読み取り不可なら発生します。

require "stringio"
a = StringIO.new("hoge\nfoo\n")
a.each{|l| p l }

#=>
"hoge\n"
"foo\n"

@see $/...

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

自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。

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

@raise IOError 自身が読み取り不可なら発生します。

require "stringio"
a = StringIO.new("hoge\nfoo\n")
a.each{|l| p l }

#=>
"hoge\n"
"foo\n"

@see $/...

StringIO#each_byte -> Enumerator (9007.0)

自身から 1 バイトずつ読み込み、整数 ch に変換し、それを引数として与えられたブロックを実行します。

...トずつ読み込み、整数 ch に変換し、それを引数として与えられたブロックを実行します。

@raise IOError 自身が読み取り不可なら発生します。

require "stringio"
a = StringIO.new("hoge")
a.each_byte{|ch| p ch }

#=>
104
111
103
101...

StringIO#each_byte {|ch| ... } -> self (9007.0)

自身から 1 バイトずつ読み込み、整数 ch に変換し、それを引数として与えられたブロックを実行します。

...トずつ読み込み、整数 ch に変換し、それを引数として与えられたブロックを実行します。

@raise IOError 自身が読み取り不可なら発生します。

require "stringio"
a = StringIO.new("hoge")
a.each_byte{|ch| p ch }

#=>
104
111
103
101...

StringIO#each_line(rs = $/) -> Enumerator (9007.0)

自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。

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

@raise IOError 自身が読み取り不可なら発生します。

require "stringio"
a = StringIO.new("hoge\nfoo\n")
a.each{|l| p l }

#=>
"hoge\n"
"foo\n"

@see $/...

絞り込み条件を変える

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

自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。

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

@raise IOError 自身が読み取り不可なら発生します。

require "stringio"
a = StringIO.new("hoge\nfoo\n")
a.each{|l| p l }

#=>
"hoge\n"
"foo\n"

@see $/...

StringIO#eof -> bool (9007.0)

自身の pos が文字列の終端にあれば true を返します。そうでないなら false を返します。

自身の pos が文字列の終端にあれば true を返します。そうでないなら false を返します。

StringIO#eof? -> bool (9007.0)

自身の pos が文字列の終端にあれば true を返します。そうでないなら false を返します。

自身の pos が文字列の終端にあれば true を返します。そうでないなら false を返します。

StringIO#external_encoding -> Encoding (9007.0)

現在の外部エンコーディングを返します。

現在の外部エンコーディングを返します。

StringIO#fcntl -> () (9007.0)

例外 NotImplementedError が常に発生します。

例外 NotImplementedError が常に発生します。

絞り込み条件を変える

StringIO#fileno -> nil (9007.0)

何もせず nil を返します。

何もせず nil を返します。

StringIO#flush -> self (9007.0)

何もせずに self を返します。

何もせずに self を返します。

StringIO#fsync -> 0 (9007.0)

何もせずに 0 を返します。

何もせずに 0 を返します。

StringIO#getbyte -> Integer | nil (9007.0)

自身から 1 文字読み込んで、その文字に対応する Fixnum を返します。 文字列の終端に到達した時には nil を返します。

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

@raise IOError 自身が読み取り不可なら発生します。

require "stringio"
a = StringIO.new("ho")
a.getc #=> 104
a.getc #=> 111
a.getc #=> nil...

StringIO#getc -> String | nil (9007.0)

自身から 1 文字読み込んで、その文字を返します。 文字列の終端に到達した時には nil を返します。

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

@raise IOError 自身が読み取り不可なら発生します。

require "stringio"
a = StringIO.new("ho")
a.getc # => "h"
a.getc # => "o"
a.getc # => nil...

絞り込み条件を変える

StringIO#gets(rs = $/) -> String | nil (9007.0)

自身から 1 行読み込んで、その文字列を返します。文字列の終端に到達した時には nil を返します。 $_ に読み込んだ行がセットされます。

...ラグラフモード)。

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

require "stringio"
a = StringIO.new("hoge")
a.gets #=> "hoge"
$_ #=> "hoge"
a.gets #=> nil
$_...

StringIO#internal_encoding -> Encoding (9007.0)

現在の内部エンコーディングを返します。

現在の内部エンコーディングを返します。

StringIO#isatty -> false (9007.0)

何もせず false を返します。

何もせず false を返します。

StringIO#length -> Integer (9007.0)

文字列の長さを返します。

文字列の長さを返します。

StringIO#lineno -> Integer (9007.0)

現在の行番号を返します。これは StringIO#gets が呼ばれた回数です。

...現在の行番号を返します。これは StringIO#gets が呼ばれた回数です。...

絞り込み条件を変える

StringIO#lineno=(n) (9007.0)

現在の行番号を n にセットします。

現在の行番号を n にセットします。

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

StringIO#lines(rs = $/) -> Enumerator (9007.0)

自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。

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

@raise IOError 自身が読み取り不可なら発生します。

require "stringio"
a = StringIO.new("hoge\nfoo\n")
a.each{|l| p l }

#=>
"hoge\n"
"foo\n"

@see $/...

StringIO#lines(rs = $/) {|line| ... } -> self (9007.0)

自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。

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

@raise IOError 自身が読み取り不可なら発生します。

require "stringio"
a = StringIO.new("hoge\nfoo\n")
a.each{|l| p l }

#=>
"hoge\n"
"foo\n"

@see $/...

StringIO#pid -> nil (9007.0)

何もせず nil を返します。

何もせず nil を返します。

StringIO#pos -> Integer (9007.0)

自身の現在の位置を返します。

自身の現在の位置を返します。

絞り込み条件を変える

StringIO#pos=(n) (9007.0)

自身の位置を n に移動します。自身が表す文字列のサイズより大きくても構いません。

...いません。

@param n 自身の位置を整数で指定します。

@raise Errno::EINVAL n がマイナスである場合に発生します。

require "stringio"
a = StringIO.new("hoge", 'r+')
a.pos = 10
a << 'Z'
a.string #=> "hoge\000\000\000\000\000\000Z"...

StringIO#print() -> nil (9007.0)

自身に引数を順に出力します。引数を省略した場合は、$_ を出力します。 引数の扱いは Kernel.#print を参照して下さい。

...@param obj 書き込みたいオブジェクトを指定します。

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

require "stringio"
a = StringIO.new("", 'r+')
a.print("hoge", "bar", "foo")
a.string #=> "hogebarfoo"...

StringIO#print(*obj) -> nil (9007.0)

自身に引数を順に出力します。引数を省略した場合は、$_ を出力します。 引数の扱いは Kernel.#print を参照して下さい。

...@param obj 書き込みたいオブジェクトを指定します。

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

require "stringio"
a = StringIO.new("", 'r+')
a.print("hoge", "bar", "foo")
a.string #=> "hogebarfoo"...

StringIO#printf(format, *obj) -> nil (9007.0)

指定されたフォーマットに従い各引数 obj を文字列に変換して、自身に出力します。

...

@param obj 書き込みたいオブジェクトを指定します。

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

require "stringio"
a = StringIO.new("", 'r+')
a.printf("%c%c%c", 97, 98, 99)
a.string #=> "abc"...

StringIO#putc(ch) -> object (9007.0)

文字 ch を自身に書き込みます。 ch が数字なら 0 〜 255 の範囲の対応する文字書き込みます。 ch が文字列なら、その先頭の文字を書き込みます。ch を返します。

文字 ch を自身に書き込みます。 ch が数字なら 0 〜 255 の範囲の対応する文字書き込みます。
ch が文字列なら、その先頭の文字を書き込みます。ch を返します。

@param ch 書き込みたい文字を、整数か文字列で指定します。ch が Float や Rational であっても、整数に変換されてから書き込まれます。

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

絞り込み条件を変える

StringIO#puts(*obj) -> nil (9007.0)

obj と改行を順番に自身に出力します。引数がなければ改行のみを出力します。 詳しい仕様は Kernel.#puts を参照して下さい。

...am obj 書き込みたいオブジェクトを指定します。

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

require "stringio"
a = StringIO.new("", 'r+')
a.puts("hoge", "bar", "foo")
a.string #=> "hoge\nbar\nfoo\n"...

StringIO#readbyte -> Integer (9007.0)

自身から 1 文字読み込んで、その文字に対応する整数を返します。

...で、その文字に対応する整数を返します。

文字列の終端に到達した時には例外 EOFError を発生させます。

require "stringio"
a = StringIO.new("hoge")
a.readchar #=> 104

@raise EOFError 文字列の終端に到達した時に発生します。...

StringIO#readchar -> Integer (9007.0)

自身から 1 文字読み込んで、その文字に対応する整数を返します。

...で、その文字に対応する整数を返します。

文字列の終端に到達した時には例外 EOFError を発生させます。

require "stringio"
a = StringIO.new("hoge")
a.readchar #=> 104

@raise EOFError 文字列の終端に到達した時に発生します。...

StringIO#readlines(rs = $/) -> [String] (9007.0)

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

...ラグラフモード)。

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

require "stringio"
a = StringIO.new("hoge\nfoo\nbar\n")
a.readlines #=> ["hoge\n", "foo\n", "bar\n"]
a.readlines #=>...

StringIO#rewind -> 0 (9007.0)

自身の pos と lineno をそれぞれ 0 にします。

自身の pos と lineno をそれぞれ 0 にします。

絞り込み条件を変える

StringIO#size -> Integer (9007.0)

文字列の長さを返します。

文字列の長さを返します。

StringIO#string -> String (9007.0)

自身が表す文字列を返します。

...れたバッファとして使われている文字列です。
文字列は複製されないことに注意して下さい。

例:

require "stringio"
sio = StringIO.new
sio << "abc"
s = sio.string
p s #=> "abc"
sio << "xyz"
p s #=> "abcxyz"...

StringIO#string=(buf) (9007.0)

自身が表す文字列を指定された buf に変更します。

自身が表す文字列を指定された buf に変更します。

buf はバッファとして使われ、書き込みメソッドによって書き換えられます。
自身は読み書き両用になりますが、
buf がフリーズされている場合には読み取り専用になります。
pos と lineno は 0 にセットされます。


@param buf 自身が新たに表す文字列を指定します。

@raise TypeError buf が nil の場合に発生します。

StringIO#sync -> true (9007.0)

何もせずに true を返します。

何もせずに true を返します。

StringIO#sync=(bool) (9007.0)

何もせずに bool を返します。

何もせずに bool を返します。

@param bool true か false を指定します。

絞り込み条件を変える

StringIO#syswrite(obj) -> Integer (9007.0)

自身に obj を書き込みます。StringIO#write と同じです。

...自身に obj を書き込みます。StringIO#write と同じです。

@param obj 書き込みたいオブジェクトを指定します。

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

StringIO#tell -> Integer (9007.0)

自身の現在の位置を返します。

自身の現在の位置を返します。

StringIO#truncate(len) -> Integer (9007.0)

自身のサイズが len になるように、自身を切り詰め、もしくは拡大します。 拡大した場合は、その部分を 0 で埋めます。 len を返します。

...が書き込み可能でない時に発生します。

@raise Errno::EINVAL len がマイナスの時に発生します。

require "stringio"
a = StringIO.new("hoge", 'r+')
a.truncate(2)
a.string #=> "ho"
a.truncate(5)
a.string #=> "ho\000\00...

StringIO#tty? -> false (9007.0)

何もせず false を返します。

何もせず false を返します。

StringIO#ungetc(str_or_int) -> nil (9007.0)

文字列か整数で指定された str_or_int を自身に書き戻します。 nil を返します。

...require "stringio"
s = StringIO.new("hoge")
s.pos = 1
s.ungetc("H")
p s.string # => "Hoge"
p s.pos # => 0

s = StringIO.new("hoge")
s.pos = 1
s.ungetc("H".ord)
p s.string # => "Hoge"
p s.pos # => 0

s = StringIO.new("hog...
...e")
s.pos = 4
s.ungetc("HOGE")
p s.string # => "hogHOGE"
p s.pos # => 3

s = StringIO.new("hoge")
s.pos = 8
s.ungetc("A")
p s.string # => "hoge\000\000\000A"
p s.pos # => 7...

絞り込み条件を変える

StringIO#write(*obj) -> Integer (9007.0)

自身に obj を書き込みます。obj が文字列でなければ to_s による文字列化を試みます。 書き込まれた文字列の長さを返します。

...きます。

@param obj 書き込みたいオブジェクトを指定します。

@raise IOError 自身が書き込み可能でない時に発生します。

require "stringio"
a = StringIO.new("hoge", 'r+')
a.write("aaa") #=> 3
a.string #=> "aaae"...

StringIO#write_nonblock(obj) -> Integer (9007.0)

自身に obj を書き込みます。StringIO#write と同じです。

...自身に obj を書き込みます。StringIO#write と同じです。

@param obj 書き込みたいオブジェクトを指定します。

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