ライブラリ
- ビルトイン (275)
クラス
-
ARGF
. class (176) - Object (11)
モジュール
- Kernel (77)
キーワード
-
$ . (11) -
$ < (11) -
$ FILENAME (11) -
$ _ (11) -
NEWS for Ruby 2
. 0 . 0 (11) -
NEWS for Ruby 2
. 3 . 0 (9) - gets (44)
- print (11)
- printf (11)
- putc (11)
- puts (11)
- readline (44)
- readlines (44)
-
ruby 1
. 8 . 2 feature (11) -
ruby 1
. 9 feature (11) -
to
_ a (33) - 制御構造 (11)
検索結果
先頭5件
-
ARGF (38102.0)
-
スクリプトに指定した引数 (Object::ARGV を参照) をファイル名とみなして、 それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。 ARGV が空なら標準入力を対象とします。 ARGV を変更すればこのオブジェクトの動作に影響します。
...ます。
//emlist[][ruby]{
while line = ARGF.gets
# do something
end
//}
は、
//emlist[][ruby]{
while argv = ARGV.shift
File.open(argv) {|file|
while line = file.gets
# do something
end
}
end
//}
のように動作します。
ARGF を処理するごとに ARGV の要素......で ARGF を読み込んだ後、再度 ARGF から内容を読むと
(ARGV が空なので)標準入力からの読み込みとなります。
//emlist[][ruby]{
ARGV.replace %w(/tmp/foo /tmp/bar)
ARGF.each {|line|
# 処理中の ARGV の内容を表示
p [ARGF.filename, ARGV]
ARGF.skip......んだ後 (ARGV が空) の動作
p ARGF.gets # => nil
p ARGF.filename # => "-"
//}
Kernel.#gets など一部の組み込み関数は
ARGF.gets などこのオブジェクトをレシーバとしたメソッドの省略形です。
また、ARGF は ARGF.class クラスのインスタンス... -
Object
:: ARGF -> Object (18157.0) -
引数 (なければ標準入力) で構成される仮想ファイル (詳細は ARGF、ARGF.class を参照)。
...入力) で構成される仮想ファイル
(詳細は ARGF、ARGF.class を参照)。
つまり Kernel.#gets は ARGF.class#gets と同じ意味です。
ARGF.class#file で現在読み込み中のファイルオブジェクトが、
ARGF.class#filename で現在読み込み中のファイル名... -
Kernel
$ $ _ -> String | nil (9068.0) -
最後に Kernel.#gets または Kernel.#readline で読み込んだ文字列です。 EOF に達した場合には、 nil になります。 (覚え方: Perlと同じ)
...最後に Kernel.#gets または Kernel.#readline で読み込んだ文字列です。
EOF に達した場合には、 nil になります。
(覚え方: Perlと同じ)
Kernel.#print のような Perl 由来の幾つかのメソッドは、引数を省略すると代わりに $_ を利用します......数はローカルスコープかつスレッドローカルです。
Ruby起動時の初期値は nil です。
@see Kernel.#print, Kernel.#gets, Kernel.#readline, Object::ARGF
=== 例
example.txt:
foo
bar
baz
このとき、コマンド ruby -e 'print while gets' example.txt は次を出力......します
foo
bar
baz
ただし、このプログラムは次のように書く方がよりRuby的です。
//emlist[例][ruby]{
ARGF.each do |line|
print line
end
//}... -
Kernel
. # readlines(rs = $ / ) -> [String] (9050.0) -
ARGFを Kernel.#gets(rs) でEOFまで読み込んで、その各行を要素としてもつ配列を返します。 行の区切りは引数 rs で指定した文字列になります。
...
ARGFを Kernel.#gets(rs) でEOFまで読み込んで、その各行を要素としてもつ配列を返します。
行の区切りは引数 rs で指定した文字列になります。
rs に nil を指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続......s("") #=> ["hello\nit\n\n", "common\n", "hello\nit\n\n", "common\n"]
ARGV << 'b.txt' << 'b.txt'
p readlines('it') #=> ["hello\nit", "\n\ncommon\n", "hello\nit", "\n\ncommon\n"]
p readlines #=> []
//}
//emlist[b.txt][ruby]{
hello
it
common
//}
@see $/,ARGF,Kernel.#gets, Kernel.#readline... -
Kernel
. # gets(rs = $ / ) -> String | nil (9046.0) -
ARGFから一行読み込んで、それを返します。 行の区切りは引数 rs で指定した文字列になります。
...
ARGFから一行読み込んで、それを返します。
行の区切りは引数 rs で指定した文字列になります。
rs に nil を指定すると行区切りなしとみなしてファイルの内容を
すべて読み込みます。ARGVに複数のファイル名が存在する場......合に発生します。
//emlist[main.rb][ruby]{
ARGV << 'b.txt' << 'c.txt'
p gets #=> "hello\n"
p gets(nil) #=> "it\ncommon\n"
p gets("") #=> "ARGF\n\n"
p gets('、') #=> "# スクリプトに指定した引数 (Object::ARGV を参照) をファイル名と\n# みなして、"
p gets #=> "それ......mmon
//}
//emlist[c.txt][ruby]{
ARGF
# スクリプトに指定した引数 (Object::ARGV を参照) をファイル名と
# みなして、それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。
//}
@see $/,ARGF,Kernel.#readlines,Kernel.#readline... -
Kernel
. # readline(rs = $ / ) -> String (9046.0) -
ARGFから一行読み込んで、それを返します。 行の区切りは引数 rs で指定した文字列になります。
...
ARGFから一行読み込んで、それを返します。
行の区切りは引数 rs で指定した文字列になります。
rs に nil を指定すると行区切りなしとみなしてファイルの内容を
すべて読み込みます。ARGVに複数のファイル名が存在する場......//emlist[例][ruby]{
# ---main.rb---
ARGV << 'b.txt' << 'c.txt'
p readline #=> "hello\n"
p readline(nil) #=> "it\ncommon\n"
p readline("") #=> "ARGF\n\n"
p readline('、') #=> "スクリプトに指定した引数 (Object::ARGV を参照) をファイル名と\nみなして、"
p readline #=> "そ......t ---
hello
it
common
# --- c.txt ---
ARGF
# スクリプトに指定した引数 (Object::ARGV を参照) をファイル名と
# みなして、それらのファイルを連結した 1 つの仮想ファイルを表すオブジェクトです。
//}
@see $/,ARGF,Kernel.#readlines,Kernel.#gets... -
Kernel
$ $ FILENAME -> String (9032.0) -
仮想ファイル Object::ARGF で現在読み込み中のファイル名です。 ARGF.class#filename と同じです。
...仮想ファイル Object::ARGF で現在読み込み中のファイル名です。
ARGF.class#filename と同じです。
この変数はグローバルスコープです。... -
Kernel
$ $ . -> Integer (9016.0) -
いずれかの IO オブジェクトが最後に読んだ行の行番号です。 Object::ARGF などの IO 互換のオブジェクトも $. を更新します。
...いずれかの IO オブジェクトが最後に読んだ行の行番号です。
Object::ARGF などの IO 互換のオブジェクトも $. を更新します。
IO からの読み込みが起きるタイミングが予測不能であるような複雑なプログラムでは使用すべきで... -
Kernel
$ $ < -> IO (9016.0) -
すべての引数または標準入力で構成される仮想ファイルです。 定数 Object::ARGF の別名です。
...すべての引数または標準入力で構成される仮想ファイルです。
定数 Object::ARGF の別名です。
この変数はグローバルスコープ、読み取り専用です。... -
ARGF
. class # gets(limit) -> String | nil (3058.0) -
ARGFの現在位置から一行ずつ文字列として読み込みます。EOF に到達した時に は nil を返します。
...
ARGFの現在位置から一行ずつ文字列として読み込みます。EOF に到達した時に
は nil を返します。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切
りなしとみなします。空文字列 "" を指定する......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 Kernel.#gets, IO#gets, ARGF.class#getbyte, ARGF.class#getc...