Ruby 2.1.0 リファレンスマニュアル > ライブラリ一覧 > stringioライブラリ > StringIOクラス
クラス・モジュールの継承リスト: StringIO < Enumerable < Object < Kernel < BasicObject
文字列に 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)
定義 | 説明 | |
---|---|---|
new(string = '', mode = 'r+') -> StringIO
|
StringIO オブジェクトを生成して返します。 |
定義 | 説明 | |
---|---|---|
self << obj -> self
|
obj を pos の位置に書き込みます。 必要なら obj.to_s を呼んで文字列に変換します。 self を返します。 |
|
binmode -> self
|
何もせずに self を返します。 |
|
each_byte {|ch| ... } -> self
|
自身から 1 バイトずつ読み込み、整数 ch に変換し、それを引数として与えられたブロックを実行します。 |
|
each_char {|c| ... } -> self
|
自身に含まれる文字を一文字ずつブロックに渡して評価します。 |
|
close -> nil
|
自身を close します。以後、自身に対する読み書きが禁止されます。 close された StringIO に読み書き等が行われると IOError が発生します。 |
|
close_read -> nil
|
自身に対する読み取りを禁止します。 |
|
close_write -> nil
|
自身に対する書き込みを禁止します。 |
|
closed? -> bool
|
自身が既に close されていた場合に true を返します。そうでない場合は、false を返します。 |
|
closed_read? -> bool
|
自身に対する読み取りが禁止されているなら true を返します。そうでない場合は、false を返します。 |
|
closed_write? -> bool
|
自身に対する書き込みが禁止されているなら true を返します。そうでない場合は、false を返します。 |
|
each_codepoint {|codepoint| ... } -> self
|
自身の各コードポイントに対して繰り返します。 |
|
each(rs = $/) {|line| ... } -> self
|
自身から 1 行ずつ読み込み、それを引数として与えられたブロックを実行します。 |
|
eof -> bool
|
自身の pos が文字列の終端にあれば true を返します。そうでないなら false を返します。 |
|
external_encoding -> Encoding
|
現在の外部エンコーディングを返します。 |
|
fcntl -> ()
|
例外 NotImplementedError が常に発生します。 |
|
fileno -> nil
|
何もせず nil を返します。 |
|
flush -> self
|
何もせずに self を返します。 |
|
fsync -> 0
|
何もせずに 0 を返します。 |
|
getbyte -> Integer | nil
|
自身から 1 文字読み込んで、その文字に対応する Fixnum を返します。文字列の終端に到達した時には nil を返します。 |
|
getc -> String | nil
|
自身から 1 文字読み込んで、その文字を返します。文字列の終端に到達した時には nil を返します。 |
|
gets(rs = $/) -> String | nil
|
自身から 1 行読み込んで、その文字列を返します。文字列の終端に到達した時には nil を返します。 $_ に読み込んだ行がセットされます。 |
|
internal_encoding -> Encoding
|
現在の内部エンコーディングを返します。 |
|
isatty -> false
|
何もせず false を返します。 |
|
size -> Integer
|
文字列の長さを返します。 |
|
lineno -> Integer
|
現在の行番号を返します。これは StringIO#gets が呼ばれた回数です。 |
|
lineno=(n)
|
現在の行番号を n にセットします。 |
|
pid -> nil
|
何もせず nil を返します。 |
|
pos -> Integer
|
自身の現在の位置を返します。 |
|
pos=(n)
|
自身の位置を n に移動します。自身が表す文字列のサイズより大きくても構いません。 |
|
print() -> nil
|
自身に引数を順に出力します。引数を省略した場合は、$_ を出力します。引数の扱いは Kernel.#print を参照して下さい。 |
|
printf(format, *obj) -> nil
|
指定されたフォーマットに従い各引数 obj を文字列に変換して、自身に出力します。 |
|
putc(ch) -> object
|
文字 ch を自身に書き込みます。 ch が数字なら 0 〜 255 の範囲の対応する文字書き込みます。 ch が文字列なら、その先頭の文字を書き込みます。ch を返します。 |
|
puts(*obj) -> nil
|
obj と改行を順番に自身に出力します。引数がなければ改行のみを出力します。詳しい仕様は Kernel.#puts を参照して下さい。 |
|
read -> String
|
自身から len バイト読み込んで返します。len が省略された場合は、最後まで読み込んで返します。詳しい仕様は IO#read を参照して下さい。 |
|
read_nonblock(maxlen, outbuf = nil, exception: true) -> String | nil
|
StringIO#readに似ていますが、 exception オプションに false を指定すると EOFError を発生させず nil を返します。 |
|
readbyte -> Integer
|
自身から 1 文字読み込んで、その文字に対応する整数を返します。 |
|
readchar -> String
|
自身から 1 文字読み込んで、その文字に対応する String を返します。 |
|
readline(rs = $/) -> String
|
自身から 1 行読み込んで、その文字列を返します。 |
|
readlines(rs = $/) -> [String]
|
自身からデータを全て読み込んで、その各行を要素としてもつ配列を返します。既に文字列の終端に達していれば空配列 [] を返します。 |
|
sysread -> String
|
自身から len バイト読み込んで返します。 StringIO#read と同じです。ただし、文字列の終端に達した場合、EOFError を投げます。 |
|
reopen(sio) -> StringIO
|
自身が表す文字列が指定された StringIO と同じものになります。 |
|
reopen(str, mode = 'r+') -> StringIO
|
自身が表す文字列が指定された文字列 str になります。 |
|
rewind -> 0
|
自身の pos と lineno をそれぞれ 0 にします。 |
|
seek(offset, whence = IO::SEEK_SET) -> 0
|
自身の pos を whence の位置から offset バイトだけ移動させます。 |
|
set_encoding(ext_enc) -> self
|
自身のエンコーディングを指定されたエンコーディングに設定します。 |
|
string -> String
|
自身が表す文字列を返します。 |
|
string=(buf)
|
自身が表す文字列を指定された buf に変更します。 |
|
sync -> true
|
何もせずに true を返します。 |
|
sync=(bool)
|
何もせずに bool を返します。 |
|
syswrite(obj) -> Integer
|
自身に obj を書き込みます。StringIO#write と同じです。 |
|
truncate(len) -> Integer
|
自身のサイズが len になるように、自身を切り詰め、もしくは拡大します。拡大した場合は、その部分を 0 で埋めます。 len を返します。 |
|
tty? -> false
|
何もせず false を返します。 |
|
ungetbyte(char) -> nil
|
指定された char を読み戻します。 |
|
ungetc(str_or_int) -> nil
|
文字列か整数で指定された str_or_int を自身に書き戻します。 nil を返します。 |
|
write(obj) -> Integer
|
自身に obj を書き込みます。obj が文字列でなければ to_s による文字列化を試みます。書き込まれた文字列の長さを返します。 |
!
!=
__id__
__send__
instance_eval
instance_exec
method_missing
singleton_method_added
singleton_method_removed
singleton_method_undefined
all?
any?
chunk
chunk_while
collect
collect_concat
count
cycle
detect
drop
drop_while
each_cons
each_entry
each_slice
each_with_index
each_with_object
entries
find_all
find_index
first
grep
grep_v
group_by
include?
inject
lazy
max
max_by
min
min_by
minmax
minmax_by
none?
one?
partition
reject
reverse_each
slice_after
slice_before
slice_when
sort
sort_by
sum
take
take_while
to_h
to_set
uniq
zip
!~
<=>
==
===
=~
_dump
class
clone
define_singleton_method
display
enum_for
eql?
equal?
extend
freeze
frozen?
hash
initialize
initialize_copy
inspect
instance_of?
instance_variable_defined?
instance_variable_get
instance_variable_set
instance_variables
is_a?
itself
marshal_dump
marshal_load
method
methods
must_be
must_be_close_to
must_be_empty
must_be_instance_of
must_be_kind_of
must_be_nil
must_be_same_as
must_be_within_epsilon
must_equal
must_include
must_match
must_raise
must_respond_to
must_send
must_throw
nil?
object_id
pretty_inspect
pretty_print
pretty_print_cycle
pretty_print_inspect
pretty_print_instance_variables
private_methods
protected_methods
psych_to_yaml
public_method
public_methods
public_send
remove_instance_variable
respond_to?
respond_to_missing?
send
singleton_class
singleton_method
singleton_methods
taint
tainted?
tap
to_ary
to_hash
to_int
to_io
to_proc
to_regexp
to_s
to_str
trust
untaint
untrust
untrusted?
.yaml_tag
::ARGF
::ARGV
::DATA
::ENV
::FALSE
::NIL
::RUBY_COPYRIGHT
::RUBY_DESCRIPTION
::RUBY_ENGINE
::RUBY_PATCHLEVEL
::RUBY_PLATFORM
::RUBY_RELEASE_DATE
::RUBY_REVISION
::RUBY_VERSION
::SCRIPT_LINES__
::STDERR
::STDIN
::STDOUT
::TOPLEVEL_BINDING
::TRUE