Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > IOクラス
クラスの継承リスト: IO < Enumerable < File::Constants < Object < Kernel
基本的な入出力機能のためのクラスです。
File::Constants は、File から IO へ移動しました。
空ファイルや EOF での各読み込みメソッドの振る舞いは以下のとおりです。 ただし、length を指定できるメソッドに関しては、length に nil または 0 を指定した場合、 EOF であっても常に空文字列 "" を返します。 ただし、IO#read(0) は EOF では nil を返します。
メソッド 空のファイルに対して IO.read(空ファイル) "" IO.read(空ファイル, length) nil IO.readlines(空ファイル) [] IO.foreach(空ファイル) 何もしない
メソッド 既にEOFだったら IO#each 何もしない IO#each_byte 何もしない IO#getc nil IO#gets nil IO#read() "" IO#read(length) nil IO#read_nonblock EOFError IO#readchar EOFError IO#readline EOFError IO#readlines [] IO#readpartial EOFError IO#sysread EOFError
定義 | 説明 | |
---|---|---|
self << object -> self
|
object を出力します。object が文字列でない時にはメソッ ド to_s を用いて文字列に変換します。 |
|
binmode -> self
|
ストリームをバイナリモードにします。MSDOS などバイナリモードの存在 する OS でのみ有効です。そうでない場合このメソッドは何もしません。 |
|
bytes -> Enumerable::Enumerator
|
自身を 1 バイトずつ整数としてイテレートするような Enumerable::Enumerator オブジェクトを生成して返します。 |
|
each_char {|c| ... } -> self
|
self に含まれる文字を一文字つつブロックに渡して評価します。 |
|
clone -> IO
|
レシーバと同じ IO を参照する新しい IO オブジェクトを返します。 参照しているファイル記述子は dup(2) されます。 |
|
close -> nil
|
入出力ポートをクローズします。 |
|
close_read -> nil
|
読み込み用の IO を close します。主にパイプや読み書き両用に作成し た IO オブジェクトで使用します。 |
|
close_write -> nil
|
書き込み用の IO を close します。 |
|
closed? -> bool
|
ポートがクローズされている時に真を返します。 |
|
each(rs = $/) {|line| ... } -> self
|
IO の現在位置から 1 行ずつ文字列として読み込み、それを引数として 与えられたブロックを実行します。 |
|
each_byte {|ch| ... } -> self
|
IO の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。 |
|
eof -> bool
|
ストリームがファイルの終端に達した場合、true を返します。そうでない場合、false を返します。 |
|
fcntl(cmd, arg = 0) -> Integer
|
IOに対してシステムコール fcntl を実行します。 機能の詳細は fcntl(2) を参照してください。 fcntl(2) が返した整数を返します。 |
|
fileno -> Integer
|
ファイル記述子を表す整数を返します。 |
|
flush -> self
|
IO ポートの内部バッファをフラッシュします。 |
|
fsync -> 0 | nil
|
書き込み用の IO に対して、システムコール fsync(2) を実行します。IO#flush を行ったあと、(OSレベルで)まだディスクに 書き込まれていないメモリ上にあるデータをディスクに書き出します。 |
|
getbyte -> Integer | nil
|
IO から1バイトを読み込み整数として返します。 既に EOF に達していれば nil を返します。 |
|
getc -> Integer | nil
|
IO ポートから 1 文字読み込んで、その文字に対応する Fixnum を 返します。EOF に到達した時には nil を返します。 |
|
gets(rs = $/) -> String | nil
|
一行読み込んで、読み込みに成功した時にはその文字列を返します。 EOF に到達した時には nil を返します。 |
|
ioctl(cmd, arg = 0) -> Integer
|
IO に対してシステムコール ioctl を実行し、その結果を返します。 機能の詳細は ioctl(2) を参照してください。 |
|
isatty -> bool
|
入出力ポートがttyに結合している時、真を返します。そうでない場合 false を返します。 |
|
lineno -> Integer
|
現在の行番号を整数で返します。実際には IO#gets が呼ばれた回数です。 改行以外のセパレータで gets が呼ばれた場合など、実際の行番号と異なる場合があります。 |
|
lineno=(number)
|
現在の行番号を number にセットします。 $. は次回の読み込みの時に更新されます。 |
|
lines(rs = $/) -> Enumerable::Enumerator
|
自身を 1 行ずつイテレートするような Enumerable::Enumerator オブジェクトを生成して返します。 |
|
pid -> Integer | nil
|
自身が IO.popen で作られたIOポートなら、子プロセスのプロセス ID を 返します。それ以外は nil を返します。 |
|
pos -> Integer
|
ファイルポインタの現在の位置を整数で返します。 |
|
pos=(n)
|
ファイルポインタを指定位置に移動します。 IO#seek(n, IO::SEEK_SET) と同じです。 |
|
print(*arg) -> nil
|
引数を IO ポートに順に出力します。引数を省略した場合は、$_ を出力します。 |
|
printf(format, *arg) -> nil
|
C 言語の printf と同じように、format に従い引数 を文字列に変換して、self に出力します。 |
|
putc(ch) -> object
|
文字 ch を self に出力します。 引数の扱いは Kernel.#putc と同じです。詳細はこちらを参照し てください。ch を返します。 |
|
puts(*obj) -> nil
|
各 obj を self に出力し、それぞれの後に改行を出力します。 引数の扱いは Kernel.#puts と同じです。詳細はこちらを参照し てください。 |
|
read(length = nil, outbuf = "") -> String | nil
|
length バイト読み込んで、その文字列を返します。 |
|
read_nonblock(maxlen, outbuf = "") -> String
|
IO をノンブロッキングモードに設定し、 その後で read(2) システムコールにより 長さ maxlen を上限として読み込み、文字列として返します。 EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。 |
|
readbyte -> Integer
|
IO から1バイトを読み込み整数として返します。 既に EOF に達していれば EOFError が発生します。 |
|
readchar -> Integer
|
IO ポートから 1 文字読み込んで、その文字に対応する Fixnum を 返します。 EOF に到達した時には EOFError が発生します。 |
|
readline(rs = $/) -> String
|
一行読み込んで、読み込みに成功した時にはその文字列を返します。 EOF に到達した時には EOFError が発生します。 |
|
readlines(rs = $/) -> [String]
|
データを全て読み込んで、その各行を要素としてもつ配列を返します。 既に EOF に達していれば空配列 [] を返します。 |
|
readpartial(maxlen, outbuf = "") -> String
|
IO から長さ maxlen を上限として読み込み、文字列として返します。 即座に得られるデータが存在しないときにはブロックしてデータの到着を待ちます。 即座に得られるデータが 1byte でも存在すればブロックしません。 |
|
reopen(io) -> self
|
自身を指定された io に繋ぎ換えます。 |
|
reopen(path) -> self
|
path で指定されたファイルにストリームを繋ぎ換えます。 |
|
rewind -> 0
|
ファイルポインタを先頭に移動します。IO#lineno は 0 になります。 |
|
seek(offset, whence = IO::SEEK_SET) -> 0
|
ファイルポインタを whence の位置から offset だけ移動させます。 offset 位置への移動が成功すれば 0 を返します。 |
|
stat -> File::Stat
|
ファイルのステータスを含む File::Stat オブジェクトを生成して 返します。 |
|
sync -> bool
|
現在の出力が同期モードならば true を返します。そうでない場合は false を返します。 |
|
sync=(newstate)
|
自身を同期モードに設定すると、出力関数の呼出毎にバッファがフラッシュされます。 |
|
sysread(maxlen, outbuf = "") -> String
|
read(2) を用いて入力を行ない、入力されたデータを 含む文字列を返します。stdio を経由しないので gets や getc や eof? などと混用すると思わぬ動作 をすることがあります。 |
|
sysseek(offset, whence = IO::SEEK_SET) -> Integer
|
lseek(2) と同じです。IO#seek では、 IO#sysread, IO#syswrite と併用すると正しく動作しないので代わりにこのメソッドを使います。 位置 offset への移動が成功すれば移動した位置(ファイル先頭からのオフセット)を返します。 |
|
syswrite(string) -> Integer
|
write(2) を用いて string を出力します。 string が文字列でなければ to_s による文字列化を試みます。 実際に出力できたバイト数を返します。 |
|
to_io -> self
|
self を返します。 |
|
ungetc(char) -> nil
|
指定された char を読み戻します。 2バイト以上の読み戻しは保証されません。 |
|
write(str) -> Integer
|
IOポートに対して str を出力します。str が文字列でなけ れば to_s による文字列化を試みます。 実際に出力できたバイト数を返します。 |
|
write_nonblock(string) -> Integer
|
IO をノンブロッキングモードに設定し、string を write(2) システムコールで書き出します。 write(2) が成功した場合、書き込んだ長さを返します。 EAGAIN, EINTR などは例外 Errno::EXXX として呼出元に報告されます。 |
定義 | 説明 | |
---|---|---|
SEEK_CUR -> Fixnum
|
IO#seek を参照してください。 |
|
SEEK_END -> Fixnum
|
IO#seek を参照してください。 |
|
SEEK_SET -> Fixnum
|
IO#seek を参照してください。 |
==
===
=~
__id__
__send__
_dump
class
dclone
display
enum_for
eql?
equal?
extend
freeze
frozen?
hash
initialize
initialize_copy
inspect
instance_eval
instance_exec
instance_of?
instance_variable_defined?
instance_variable_get
instance_variable_set
instance_variables
is_a?
marshal_dump
marshal_load
method
method_missing
methods
nil?
pretty_inspect
pretty_print
pretty_print_cycle
pretty_print_inspect
pretty_print_instance_variables
private_methods
protected_methods
public_methods
remove_instance_variable
respond_to?
singleton_method_added
singleton_method_removed
singleton_method_undefined
singleton_methods
taint
tainted?
tap
to_a
to_ary
to_hash
to_int
to_proc
to_regexp
to_s
to_str
to_yaml
to_yaml_properties
to_yaml_style
untaint
定義 | 説明 | ライブラリ |
---|---|---|
expect(pattern, timeout = 9999999) -> Array | nil
|
レシーバから指定したパターンを読み込むまで待ちます。 |
expect |
nonblock(bool = true) { ... } -> object
|
ブロック実行中、一時的に self のブロックモードを変更します。 bool が真ならノンブロックモード、偽ならブロックモードになります。 |
io/nonblock |
nonblock=(bool)
|
bool が真なら self をノンブロックモードに、偽ならブロックモー ドにします。 |
io/nonblock |
nonblock? -> bool
|
self がノンブロックモードならば true を、 ブロックモードなら false を返します。 |
io/nonblock |
readbytes(size) -> String
|
IO#read と同様に size バイト読み込みますが、 EOFに到達した時に例外 EOFError を発生させます。 |
readbytes |
ready? -> Integer | false | nil
|
ブロックせずに読み込み可能なら真を、 不可能であれば偽を返します。 |
io/wait |
scanf(format) -> Array
|
String#scanfも参照してください。 |
scanf |
to_ptr -> DL::PtrData
|
自身を指す DL::PtrData を返します。これは C レベルでは「FILE *」です。 |
dl |
wait(timeout = nil) -> bool | self | nil
|
self が読み込み可能になるまでブロックし、読み込み可能になったら 真値を返します。タイムアウト、もしくはEOFで それ以上読みこめない場合は偽の値を返します。 |
io/wait |