要約
ARGF を表すクラスです。
目次
- インスタンスメソッド
-
- argv
- binmode
- binmode?
- bytes
- chars
- close
- closed?
- codepoints
- each
- each_byte
- each_char
- each_codepoint
- each_line
- eof
- eof?
- external_encoding
- file
- filename
- fileno
- getbyte
- getc
- gets
- inplace_mode
- inplace_mode=
- inspect
- internal_encoding
- lineno
- lineno=
- lines
- path
- pos
- pos=
- printf
- putc
- puts
- read
- read_nonblock
- readbyte
- readchar
- readline
- readlines
- readpartial
- rewind
- seek
- set_encoding
- skip
- tell
- to_a
- to_i
- to_io
- to_s
- to_write_io
- write
継承しているメソッド
- Enumerableから継承しているメソッド
-
- all?
- any?
- chain
- 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
- filter
- filter_map
- find
- find_all
- find_index
- first
- flat_map
- grep
- grep_v
- group_by
- include?
- inject
- lazy
- map
- max
- max_by
- member?
- min
- min_by
- minmax
- minmax_by
- none?
- one?
- partition
- reduce
- reject
- reverse_each
- select
- slice_after
- slice_before
- slice_when
- sort
- sort_by
- sum
- take
- take_while
- tally
- to_h
- uniq
- zip
インスタンスメソッド
argv -> Array
[permalink][rdoc][edit]-
Object::ARGV を返します。
ARGF が ARGV をどう扱うかについては ARGF を参照してください。
例:
$ ruby argf.rb -v glark.txt ARGF.argv #=> ["-v", "glark.txt"]
binmode -> self
[permalink][rdoc][edit]-
self をバイナリモードにします。一度バイナリモードになった後は非バイナリモードに戻る事はできません。
バイナリモード下では以下のように動作します。
- 改行の変換を停止する
- 文字エンコーディングの変換を停止する
- 内容を ASCII-8BIT として扱う
例:
# test1.png - 164B # test2.png - 128B # test1.png + test2.png = 292B # $ ruby test.rb test1.png test2.png ARGF.binmode ARGF.read.size # => 292
例:
# test1.png - 164B # test2.png - 128B # test1.png + test2.png = 292B # $ ruby test.rb test1.png test2.png ARGF.read.size # => 290
[SEE_ALSO] IO#binmode, ARGF.class#binmode?
binmode? -> bool
[permalink][rdoc][edit]-
ARGF の入力ストリームがバイナリモードなら true を返します。そうでない場合、false を返します。
バイナリモードにするためには ARGF.class#binmode を使用します。
ARGF.binmode? # => false ARGF.binmode ARGF.binmode? # => true
[SEE_ALSO] IO#binmode?, ARGF.class#binmode
bytes { |byte| ... } -> self
[permalink][rdoc][edit]bytes -> Enumerator
-
このメソッドは obsolete です。代わりに ARGF.class#each_byte を使用してください。使用すると警告メッセージが表示されます。
chars { |c| ... } -> self
[permalink][rdoc][edit]chars -> Enumerator
-
このメソッドは obsolete です。代わりに ARGF.class#each_char を使用してください。使用すると警告メッセージが表示されます。
close -> self
[permalink][rdoc][edit]-
現在開いている処理対象のファイルをクローズします。開くファイルが残っている場合は次のファイルをオープンします。ただし、標準入力はクローズされません。
$ echo "foo" > foo $ echo "bar" > bar $ ruby argf.rb foo bar ARGF.filename # => "foo" ARGF.close ARGF.filename # => "bar" ARGF.close
[SEE_ALSO] ARGF.class#closed?
closed? -> bool
[permalink][rdoc][edit]-
現在開いている処理対象のファイルがARGFがcloseされていればtrueを返します。
例:
# $ echo "foo" > foo # $ echo "bar" > bar # $ ruby argf.rb foo bar ARGF.filename # => "foo" ARGF.close # 複数のファイルを開いているので1度のARGF.closeではまた全てのファイルを閉じていないのでfalseになる ARGF.closed? # => false ARGF.filename # => "bar" ARGF.close # 2つのファイルを開いていたので2度目のARGF.closeで全てのファイルを閉じたためtrueになる ARGF.closed? # => true
[SEE_ALSO] IO#closed?, ARGF.class#close
codepoints { |c| ... } -> self
[permalink][rdoc][edit]codepoints -> Enumerator
-
このメソッドは obsolete です。代わりに ARGF.class#each_codepoint を使用してください。使用すると警告メッセージが表示されます。
each(rs = $/) { |line| ... } -> self
[permalink][rdoc][edit]each_line(rs = $/) { |line| ... } -> self
each(rs = $/, limit) { |line| ... } -> self
each_line(rs = $/, limit) { |line| ... } -> self
each(rs = $/) -> Enumerator
each_line(rs = $/) -> Enumerator
each(rs = $/, limit) -> Enumerator
each_line(rs = $/, limit) -> Enumerator
-
ARGFの現在位置から 1 行ずつ文字列として読み込み、それを引数として与えられたブロックを実行します。
ブロックが与えられなかった場合は、Enumerator オブジェクトを生成して返します。
このメソッドはスクリプトに指定した引数(Object::ARGV を参照) をファイル名とみなして、それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。そのため、最初のファイルを最後まで読んだ後は次のファイルの内容を返します。現在の行についてファイル名や行数を得るには ARGF.class#filename と ARGF.class#lineno を使用します。
- [PARAM] rs:
- 行の区切りを文字列で指定します。nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
- [PARAM] limit:
- 各行の最大の読み込みバイト数
例: ARGFの各ファイル名(最初に1回のみ)、行番号、内容を表示
ARGF.each_line do |line| puts ARGF.filename if ARGF.lineno == 1 puts "#{ARGF.lineno}: #{line}" end
[SEE_ALSO] IO#each, IO#each_line
each_byte { |byte| ...} -> self
[permalink][rdoc][edit]each_byte -> Enumerator
-
ARGF の現在位置から 1 バイトずつ読み込み、それを整数として与え、ブロックを実行します。ブロック引数byteは0..255のいずれかの整数です。
このメソッドはスクリプトに指定した引数(Object::ARGV を参照) をファイル名とみなして、それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。そのため、最初のファイルを最後まで読んだ後は次のファイルの内容を返します。現在位置の1バイトについてファイル名を得るには ARGF.class#filename を使用します。
ブロックが与えられなかった場合は、Enumerator オブジェクトを生成して返します。
例:
ARGF.each_byte.to_a # => [35, 32, ... 95, 10]
[SEE_ALSO] IO#each_byte
each_char { |c| ... } -> self
[permalink][rdoc][edit]each_char -> Enumerator
-
レシーバに含まれる文字を一文字ずつブロックに渡して評価します。
このメソッドはスクリプトに指定した引数(Object::ARGV を参照) をファイル名とみなして、それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。そのため、最初のファイルを最後まで読んだ後は次のファイルの内容を返します。現在位置の1文字についてファイル名を得るには ARGF.class#filename を使用します。
ブロックが与えられなかった場合は、Enumerator オブジェクトを生成して返します。
例:
# $ echo "line1\n" > test1.txt # $ echo "line2\n" > test2.txt # $ ruby test.rb test1.txt test2.txt # test.rb ARGF.each_char # => #<Enumerator: ARGF:each_char> ARGF.each_char{|e|p e} # => "l" # "i" # "n" # "e" # "1" # "\n" # "l" # "i" # "n" # "e" # "2" # "\n"
[SEE_ALSO] IO#each_char
each_codepoint { |c| ... } -> self
[permalink][rdoc][edit]each_codepoint -> Enumerator
-
self の各コードポイントに対して繰り返しブロックを呼びだします。
ブロックの引数にはコードポイントを表す整数が渡されます。
ブロックを省略した場合には、Enumerator を返します。
例:
# $ echo "line1\n" > test1.txt # $ echo "line2\n" > test2.txt # $ ruby test.rb test1.txt test2.txt # test.rb ARGF.each_codepoint # => #<Enumerator: ARGF:each_codepoint> ARGF.each_codepoint{|e|print e, ","} # => 108,105,110,101,49,10,108,105,110,101,50,10,
eof -> bool
[permalink][rdoc][edit]eof? -> bool
-
現在開いているファイルがEOFに達したらtrueを返します。そうでない場合は falseを返します。
- [EXCEPTION] IOError:
- ファイルがopenされていない場合に発生します。
$ echo "eof" | ruby argf.rb ARGF.eof? # => false 3.times { ARGF.readchar } ARGF.eof? # => false ARGF.readchar # => "\n" ARGF.eof? # => true
external_encoding -> Encoding
[permalink][rdoc][edit]-
ARGF が処理するファイルに対する外部エンコーディングを返します。デフォルトは Encoding.default_external です。
ARGF.class#set_encoding で設定します。
例:
ARGF.external_encoding # => #<Encoding:UTF-8>
[SEE_ALSO] IO, ARGF.class#internal_encoding
file -> IO
[permalink][rdoc][edit]-
現在開いている処理対象の File オブジェクト(または IO オブジェクト)を返します。
$ echo "foo" > foo $ echo "bar" > bar $ ruby argf.rb foo bar ARGF.file # => #<File:foo> ARGF.read(5) # => "foo\nb" ARGF.file # => #<File:bar>
ARGFが現在開いている処理対象が標準入力の場合、$stdin を返します。
filename -> String
[permalink][rdoc][edit]path -> String
-
現在開いている処理対象のファイル名を返します。
標準入力に対しては - を返します。組み込み変数 $FILENAME と同じです。
$ echo "foo" > foo $ echo "bar" > bar $ echo "glark" > glark $ ruby argf.rb foo bar glark ARGF.filename # => "foo" ARGF.read(5) # => "foo\nb" ARGF.filename # => "bar" ARGF.skip ARGF.filename # => "glark"
fileno -> Integer
[permalink][rdoc][edit]to_i -> Integer
-
現在オープンしているファイルのファイル記述子を表す整数を返します。
ARGF.fileno # => 3
- [EXCEPTION] ArgumentError:
- 現在開いているファイルがない場合に発生します。
getbyte -> Integer | nil
[permalink][rdoc][edit]-
self から 1 バイト(0..255)を読み込み整数として返します。既に EOF に達していれば nil を返します。
ARGF はスクリプトに指定した引数(Object::ARGV を参照) をファイル名とみなして、それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。そのため、最初のファイルを最後まで読んだ後は次のファイルの内容を返します。
$ echo "foo" > file1 $ echo "bar" > file2 $ ruby argf.rb file1 file2 ARGF.getbyte # => 102 ARGF.getbyte # => 111 ARGF.getbyte # => 111 ARGF.getbyte # => 10 ARGF.getbyte # => 98 ARGF.getbyte # => 97 ARGF.getbyte # => 114 ARGF.getbyte # => 10 ARGF.getbyte # => nil
[SEE_ALSO] ARGF.class#getc, ARGF.class#gets
getc -> String | nil
[permalink][rdoc][edit]-
self から 1 文字読み込んで返します。EOF に到達した時には nil を返します。
ARGF はスクリプトに指定した引数(Object::ARGV を参照) をファイル名とみなして、それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。そのため、最初のファイルを最後まで読んだ後は次のファイルの内容を返します。
$ echo "foo" > file1 $ echo "bar" > file2 $ ruby argf.rb file1 file2 ARGF.getc # => "f" ARGF.getc # => "o" ARGF.getc # => "o" ARGF.getc # => "\n" ARGF.getc # => "b" ARGF.getc # => "a" ARGF.getc # => "r" ARGF.getc # => "\n" ARGF.getc # => nil
[SEE_ALSO] ARGF.class#getbyte, ARGF.class#gets
gets(rs = $/, chomp: false) -> String | nil
[permalink][rdoc][edit]gets(limit, chomp: false) -> String | nil
gets(rs, limit, chomp: false) -> String | nil
-
ARGFの現在位置から一行ずつ文字列として読み込みます。EOF に到達した時には nil を返します。
- [PARAM] rs:
- 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
- [PARAM] limit:
- 最大の読み込みバイト数
- [PARAM] chomp:
- true を指定すると各行の末尾から "\n", "\r", または "\r\n" を取り除きます。
例:
# $ echo "line1\nline2\nline3\n\nline4\n" > test.txt # $ ruby test.rb test.txt # test.rb ARGF.gets # => "line1\n"
例:
# $ echo "line1\nline2\nline3\n\nline4\n" > test.txt # $ ruby test.rb test.txt # test.rb ARGF.gets(2) # => "li"
例:
# $ echo "line1\nline2\nline3\n\nline4\n" > test.txt # $ ruby test.rb test.txt # test.rb ARGF.gets("e") # => "line"
例:
# $ echo "line1\nline2\nline3\n\nline4\n" > test.txt # $ ruby test.rb test.txt # test.rb ARGF.gets("") # => "line1\nline2\nline3\n\n"
[SEE_ALSO] Kernel.#gets, IO#gets, ARGF.class#getbyte, ARGF.class#getc
inplace_mode -> String | nil
[permalink][rdoc][edit]-
ARGF/インプレースエディットモード で書き換えるファイルのバックアップに付加される拡張子を返します。拡張子が設定されていない場合は空文字列を返します。インプレースモードでない場合は nil を返します。
Ruby 起動時の -i オプション や ARGF.class#inplace_mode= で設定します。
例:
# $ echo "test" > test.txt # $ ruby -i.bak test.rb test.txt # $ cat test.txt # => "TEST" # $ cat test.txt.bak # => "test" # test.rb ARGF.inplace_mode # => ".bak" ARGF.each_line {|e|print e.upcase} # => "TEST"
例:
# $ echo "test" > test.txt # $ ruby test.rb test.txt # $ cat test.txt # => "test" # test.rb ARGF.inplace_mode # => nil ARGF.each_line {|e|print e.upcase} # => "TEST"
[SEE_ALSO] Rubyの起動/コマンドラインオプション, ARGF.class#inplace_mode=
inplace_mode=(ext)
[permalink][rdoc][edit]-
ARGF/インプレースエディットモード時にバックアップファイルに付加する拡張子を設定します。ピリオドも含めて指定する必要があります。
バックアップを残さない場合は空文字列を指定します。この機能は Windows では使用出来ません。
設定が有効になるのは次のファイルの処理に移った時です。インプレースモードに入っていない場合はその時点でモードに入ります。
Ruby 起動時の -i オプションで設定することも出来ます。
- [PARAM] ext:
- インプレースモード時にバックアップファイルに付加する拡張子を文字列で指定します。ピリオドも含める必要があります。
$ ruby argf.rb file.txt ---- argf.rb ---- # 引数のファイル中の各行の最初の "foo" を "bar" で置き換える ARGF.inplace_mode = '.bak' ARGF.lines do |line| print line.sub("foo","bar") end ---- -i オプションを使う場合 ---- $ ruby -i.bak -p -e '$_.sub!("foo","bar")' file.txt ---- -i オプションを使う場合その2 ---- $ ruby -i.bak -n -e 'print $_.sub("foo","bar")' file.txt
[SEE_ALSO] Rubyの起動/コマンドラインオプション, ARGF.class#inplace_mode
to_s -> String
[permalink][rdoc][edit]inspect -> String
-
常に文字列 "ARGF" を返します。
internal_encoding -> Encoding | nil
[permalink][rdoc][edit]-
ARGF から読み込んだ文字列の内部エンコーディングを返します。内部エンコーディングが指定されていない場合は nil を返します。
まだ読み込み処理を始めていない場合は Encoding.default_external を返します。
ARGF.class#set_encoding で設定します。
例:
# $ ruby -Eutf-8 test.rb # test.rb ARGF.internal_encoding # => #<Encoding:UTF-8> ARGF.set_encoding('utf-8','ascii') ARGF.internal_encoding # => #<Encoding:US-ASCII>
例:
ARGF.binmode ARGF.internal_encoding # => nil
[SEE_ALSO] IO, ARGF.class#external_encoding
lineno -> Integer
[permalink][rdoc][edit]-
全引数ファイルを一つのファイルとみなしたときの現在の行番号を返します。個々の引数ファイル毎の行番号を得るには ARGF.file.lineno とします。
この値を書き換えたい場合は ARGF.class#lineno= を使用してください。
ARGF.lineno # => 0 ARGF.readline # => "This is line 1\n" ARGF.lineno # => 1
[SEE_ALSO] ARGF.class#lineno=
lineno=(number)
[permalink][rdoc][edit]-
全引数ファイルを一つのファイルとみなしたときの現在の行番号を number に書き換えます。
この値を読み込みたい場合は ARGF.class#lineno を使用してください。
- [PARAM] number:
- 更新後の行番号を指定する
ARGF.lineno # => 0 ARGF.readline # => "This is line 1\n" ARGF.lineno # => 1 ARGF.lineno = 0 # => 0 ARGF.lineno # => 0
[SEE_ALSO] ARGF.class#lineno
lines(rs = $/) { |line| ... } -> self
[permalink][rdoc][edit]lines(limit) { |line| ... } -> self
lines(rs, limit) { |line| ... } -> self
lines(rs = $/) -> Enumerator
lines(limit) -> Enumerator
lines(rs, limit) -> Enumerator
-
このメソッドは obsolete です。代わりに ARGF.class#each_line を使用してください。使用すると警告メッセージが表示されます。
[SEE_ALSO] $/, ARGF.class#each_line
pos -> Integer
[permalink][rdoc][edit]tell -> Integer
-
ARGFが現在開いているファイルのファイルポインタの現在の位置をバイト単位の整数で返します。
ARGF.pos # => 0 ARGF.gets # => "This is line one\n" ARGF.pos # => 17
[SEE_ALSO] IO#pos, IO#tell, ARGF.class#pos=
pos=(n)
[permalink][rdoc][edit]-
ARGFが開いているファイルのファイルポインタを指定位置に移動します。
- [PARAM] n:
- 先頭からのオフセットをバイト単位の整数で指定します。
ARGF.pos = 17 ARGF.gets # => "This is line two\n"
[SEE_ALSO] IO#pos=, ARGF.class#pos
print(*arg) -> nil
[permalink][rdoc][edit]-
引数を順に処理対象のファイルに出力します。
ARGF/インプレースエディットモード時にのみ使用できます。また $stdout への代入の影響を受けません。それ以外は Kernel.#print と同じです。
- [PARAM] arg:
- 出力するオブジェクトを任意個指定します。
printf(format, *arg) -> nil
[permalink][rdoc][edit]-
C 言語の printf と同じように、format に従い引数を文字列に変換して処理対象のファイルに出力します。
ARGF/インプレースエディットモード時にのみ使用できます。また $stdout への代入の影響を受けません。それ以外は出力先を指定しない形式の Kernel.#printf と同じです。
- [PARAM] format:
- フォーマット文字列です。
- [PARAM] arg:
- フォーマットされる引数です。
putc(ch) -> object
[permalink][rdoc][edit]-
文字 ch を処理対象のファイルに出力します。 ch を返します。
ARGF/インプレースエディットモード時にのみ使用できます。また $stdout への代入の影響を受けません。それ以外は Kernel.#putc と同じです。
- [PARAM] ch:
- 出力する文字を String オブジェクトで指定します。
puts(*arg) -> nil
[permalink][rdoc][edit]-
引数と改行を順番に処理対象のファイルに出力します。引数がなければ改行のみを出力します。
ARGF/インプレースエディットモード時にのみ使用できます。また $stdout への代入の影響を受けません。それ以外は Kernel.#puts と同じです。
- [PARAM] arg:
- 出力するオブジェクトを任意個指定します。
read(length = nil, str = nil) -> String | nil
[permalink][rdoc][edit]-
ARGVに指定されたファイルを先頭のファイルからlengthバイト読み込み、その文字列をstrに出力します。読み込んだ文字列を返します。
- [PARAM] length:
- 読み込むバイト数を指定します。nilの場合はARGVのすべてのファイルを読み込みます。
- [PARAM] str:
- 出力先の文字列。内容は上書きされます。
$ echo "small" > small.txt $ echo "large" > large.txt $ ruby glark.rb small.txt large.txt ARGF.read # => "small\nlarge" ARGF.read(200) # => "small\nlarge" ARGF.read(2) # => "sm" ARGF.read(0) # => ""
[SEE_ALSO] IO#read
read_nonblock(maxlen, outbuf = nil, exception: true) -> String | Symbol | nil
[permalink][rdoc][edit]-
処理中のファイルからノンブロッキングモードで最大 maxlen バイト読み込みます。詳しくは IO#read_nonblock を参照してください。
ARGF.class#read などとは違って複数ファイルを同時に読み込むことはありません。
- [PARAM] maxlen:
- 読み込む長さの上限を整数で指定します。
- [PARAM] outbuf:
- 読み込んだデータを格納する String オブジェクトを指定します。
- [PARAM] exception:
- 読み込み時に Errno::EAGAIN、 Errno::EWOULDBLOCK が発生する代わりに :wait_readable を返すかどうかを指定します。また、false を指定した場合は既に EOF に達していれば EOFError の代わりに nil を返します。
[SEE_ALSO] ARGF.class#readpartial
readbyte -> Integer
[permalink][rdoc][edit]-
自身から 1 バイトを読み込み整数として返します。既に EOF に達していれば EOFError が発生します。
- [EXCEPTION] EOFError:
- 既に EOF に達している場合に発生します。
$ echo "foo" > file $ ruby argf.rb file ARGF.readbyte # => 102 ARGF.readbyte # => 111 ARGF.readbyte # => 111 ARGF.readbyte # => 10 ARGF.readbyte # => end of file reached (EOFError)
readchar -> String
[permalink][rdoc][edit]-
ARGFから 1 文字読み込んで、その文字に対応する String を返します。EOF に到達した時には EOFErrorを発生します。
- [EXCEPTION] EOFError:
- EOFに達した時発生する
$ echo "foo" > file $ ruby argf.rb file ARGF.readchar # => "f" ARGF.readchar # => "o" ARGF.readchar # => "o" ARGF.readchar # => "\n" ARGF.readchar # => end of file reached (EOFError)
[SEE_ALSO] ARGF.class#getc
readline(rs = $/) -> String
[permalink][rdoc][edit]readline(limit) -> String
readline(rs, limit) -> String
-
ARGFの現在位置から一行ずつ文字列として読み込みます。EOF に到達した時には EOFError を発生します。
- [PARAM] rs:
- 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
- [PARAM] limit:
- 最大の読み込みバイト数
- [EXCEPTION] EOFError:
- EOFに達したら発生する
[SEE_ALSO] Kernel.#readline, ARGF.class#gets
readlines(rs = $/) -> Array
[permalink][rdoc][edit]readlines(limit) -> Array
readlines(rs, limit) -> Array
to_a(rs = $/) -> Array
to_a(limit) -> Array
to_a(rs, limit) -> Array
-
ARGFの各行を配列に読み込んで返します。rsがnilの場合は要素に各ファイルをすべて読み込んだ配列を返します。
- [PARAM] rs:
- 行区切り文字
- [PARAM] limit:
- 最大の読み込みバイト数
lines = ARGF.readlines lines[0] # => "This is line one\n"
[SEE_ALSO] $/, Kernel.#readlines, IO#readlines
readpartial(maxlen, outbuf = nil) -> String
[permalink][rdoc][edit]-
IO#readpartialを参照。ARGF.class#read などとは違って複数ファイルを同時に読み込むことはありません。
- [PARAM] maxlen:
- 読み込む長さの上限を整数で指定します。
- [PARAM] outbuf:
- 読み込んだデータを格納する String オブジェクトを指定します。
[SEE_ALSO] IO#readpartial, ARGF.class#read_nonblock
rewind -> 0
[permalink][rdoc][edit]-
ARGFが現在開いているファイルのファイルポインタを先頭に戻します。
ARGF.readline # => "This is line one\n" ARGF.rewind # => 0 ARGF.lineno # => 0 ARGF.readline # => "This is line one\n"
seek(offset, whence = IO::SEEK_SET) -> 0
[permalink][rdoc][edit]-
ARGFが現在開いているファイルのファイルポインタを whence の位置から offset だけ移動させます。 offset 位置への移動が成功すれば 0 を返します。
- [PARAM] offset:
- ファイルポインタを移動させるオフセットを整数で指定します。
- [PARAM] whence:
- IO#seek を参照。
[SEE_ALSO] IO#seek
set_encoding(ext_enc) -> self
[permalink][rdoc][edit]set_encoding(enc_str, options = {}) -> self
set_encoding(ext_enc, int_enc, options = {}) -> self
-
ARGF の外部/内部エンコーディングを設定します。次以降に処理するファイルにも同じ設定が適用されます。
外部エンコーディングは ARGF を介して読み込むファイルの、内部エンコーディングは読み込んだ文字列のエンコーディングです。
詳しくは IO#set_encoding を参照してください。
- [PARAM] enc_str:
- 外部/内部エンコーディングを"A:B" のようにコロンで区切って指定します。
- [PARAM] ext_enc:
- 外部エンコーディングを表す文字列か Encoding オブジェクトを指定します。
- [PARAM] int_enc:
- 内部エンコーディングを表す文字列か Encoding オブジェクトを指定します。
- [PARAM] options:
- エンコーディング変換のオプション。 String#encode と同じものが指定できます。
[SEE_ALSO] String#encode
skip -> self
[permalink][rdoc][edit]-
現在開いている処理対象のファイルをクローズします。次回の読み込みは次の引数が処理対象になります。 self を返します。
$ echo "foo" > foo $ echo "bar" > bar $ ruby argf.rb foo bar ARGF.filename # => "foo" ARGF.skip ARGF.filename # => "bar"
to_io -> IO
[permalink][rdoc][edit]-
ARGFが現在開いているファイルのFile、またはIOオブジェクトを返します。
ARGF.to_io # => #<File:glark.txt> ARGF.to_io # => #<IO:<STDIN>>
[SEE_ALSO] ARGF.class#file, ARGF.class#to_write_io
to_write_io -> IO
[permalink][rdoc][edit]-
処理対象のファイルへの書き出し用 IO オブジェクトを返します。
ARGF/インプレースエディットモード時以外は読み込み用の IO オブジェクトを返します。このため ARGF.class#write などの書き出し用メソッドを呼ぶと IOError が発生します。
write(str) -> Integer
[permalink][rdoc][edit]-
処理対象のファイルに対して str を出力します。 str が文字列でなければ to_s による文字列化を試みます。実際に出力できたバイト数を返します。
ARGF/インプレースエディットモード時にのみ使用できます。
- [PARAM] str:
- 出力する文字列を指定します。
[SEE_ALSO] ARGF.class#to_write_io