種類
- インスタンスメソッド (122)
- 特異メソッド (32)
- モジュール関数 (12)
- 定数 (2)
クラス
-
ARGF
. class (18) - Dir (6)
-
Encoding
:: InvalidByteSequenceError (1) - Exception (1)
- File (9)
-
File
:: Stat (4) - IO (31)
- Method (2)
- Module (1)
- Object (2)
- Proc (2)
- Thread (35)
-
Thread
:: Backtrace :: Location (7) -
Thread
:: ConditionVariable (4) -
Thread
:: Mutex (6) -
Thread
:: Queue (12) -
Thread
:: SizedQueue (9) - ThreadGroup (5)
キーワード
- << (3)
- >> (2)
-
CLOCK
_ THREAD _ CPUTIME _ ID (1) - Default (1)
- [] (1)
-
abort
_ on _ exception (2) -
absolute
_ path (1) - add (1)
- alive? (1)
-
attr
_ reader (1) - backtrace (1)
-
backtrace
_ locations (3) -
base
_ label (1) - binmode (1)
- binread (1)
- birthtime (1)
- broadcast (1)
-
caller
_ locations (2) - clear (1)
- clone (1)
- close (3)
-
close
_ read (1) -
close
_ write (1) - closed? (2)
-
copy
_ stream (2) - deq (2)
- dup (1)
- empty? (2)
- enclose (1)
- enclosed? (1)
- enq (2)
- exclusive (1)
- exit (1)
- fetch (1)
- file (1)
- filename (1)
- flock (1)
- flush (1)
- getc (1)
-
handle
_ interrupt (1) - inspect (1)
- join (2)
- key? (1)
- keys (1)
- kill (2)
- label (1)
- length (2)
- lineno (1)
- link (1)
- list (2)
- lock (1)
- locked? (1)
- new (3)
- open (4)
- owned? (1)
- pass (1)
- path (2)
-
pending
_ interrupt? (2) - pop (2)
- pread (1)
- push (2)
-
read
_ nonblock (2) - readable? (3)
-
readable
_ real? (3) -
readagain
_ bytes (1) - readbyte (1)
- readchar (1)
- readline (7)
- readlines (10)
- readlink (1)
- readpartial (2)
-
report
_ on _ exception (2) - rewind (1)
- run (1)
-
safe
_ level (1) - seek (1)
- select (2)
-
set
_ trace _ func (1) - shift (2)
- signal (1)
- size (2)
- sleep (1)
- spawn (4)
- status (1)
- stop (1)
- stop? (1)
- sysread (1)
- terminate (1)
-
thread
_ variable? (1) -
thread
_ variable _ get (1) -
thread
_ variable _ set (1) -
to
_ a (3) -
to
_ s (1) -
try
_ lock (1) - ungetc (1)
- unlock (1)
- value (1)
- wait (1)
- wakeup (1)
-
world
_ readable? (3) - write (1)
-
yield
_ self (2)
検索結果
先頭5件
-
ARGF
. class # read(length = nil , str = nil) -> String | nil (64036.0) -
ARGVに指定されたファイルを先頭のファイルからlengthバイト読み込み、 その文字列をstrに出力します。読み込んだ文字列を返します。
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 # => "sm... -
IO
. read(path , **opt) -> String | nil (55024.0) -
path で指定されたファイルを offset 位置から length バイト分読み込んで返します。
path で指定されたファイルを offset 位置から
length バイト分読み込んで返します。
既に EOF に達している場合は nil を返します。ただし、length に nil か 0 が指定されている場合は、空文字列 "" を返します。例えば、IO.read(空ファイル) は "" を返します。
引数 length が指定された場合はバイナリ読み込みメソッド、そうでない場合はテキスト読み込みメソッドとして
動作します。
Kernel.#open と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。
@param path ファイル名を... -
IO
. read(path , length = nil , **opt) -> String | nil (55024.0) -
path で指定されたファイルを offset 位置から length バイト分読み込んで返します。
path で指定されたファイルを offset 位置から
length バイト分読み込んで返します。
既に EOF に達している場合は nil を返します。ただし、length に nil か 0 が指定されている場合は、空文字列 "" を返します。例えば、IO.read(空ファイル) は "" を返します。
引数 length が指定された場合はバイナリ読み込みメソッド、そうでない場合はテキスト読み込みメソッドとして
動作します。
Kernel.#open と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。
@param path ファイル名を... -
IO
. read(path , length = nil , offset = 0 , **opt) -> String | nil (55024.0) -
path で指定されたファイルを offset 位置から length バイト分読み込んで返します。
path で指定されたファイルを offset 位置から
length バイト分読み込んで返します。
既に EOF に達している場合は nil を返します。ただし、length に nil か 0 が指定されている場合は、空文字列 "" を返します。例えば、IO.read(空ファイル) は "" を返します。
引数 length が指定された場合はバイナリ読み込みメソッド、そうでない場合はテキスト読み込みメソッドとして
動作します。
Kernel.#open と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。
@param path ファイル名を... -
Dir
# read -> String | nil (55000.0) -
ディレクトリストリームから次の要素を読み出して返します。最後の要素 まで読み出していれば nil を返します。
ディレクトリストリームから次の要素を読み出して返します。最後の要素
まで読み出していれば nil を返します。
@raise Errno::EXXX ディレクトリの読み出しに失敗した場合に発生します。
@raise IOError 既に自身が close している場合に発生します。
//emlist[例][ruby]{
require 'tmpdir'
Dir.mktmpdir do |tmpdir|
File.open("#{tmpdir}/test1.txt", "w") { |f| f.puts("test1") }
File.open("#{tmpdir}/test2... -
IO
# read(length = nil , outbuf = "") -> String | nil (55000.0) -
length バイト読み込んで、その文字列を返します。
length バイト読み込んで、その文字列を返します。
引数 length が指定された場合はバイナリ読み込みメソッド、そうでない場合はテキスト読み込みメソッドとして
動作します。
既に EOF に達していれば nil を返します。
ただし、length に nil か 0 が指定されている場合は、空文字列 "" を返します。
例えば、open(空ファイル) {|f| f.read } は "" となります。
@param length 読み込むサイズを整数で指定します。
nil が指定された場合、EOF までの全てのデータを読み込んで、その文字列を返します。... -
FileTest
. # readable?(file) -> bool (46207.0) -
ファイルがカレントプロセスにより読み込み可能な時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルがカレントプロセスにより読み込み可能な時に真を返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列を指定します。
//emlist[例][ruby]{
IO.write("testfile", "")
File.chmod(0644, "testfile")
FileTest.readable?("testfile") # => true
File.chmod(0200, "testfile")
FileTest.readable?("testfile"... -
FileTest
. # readable _ real?(file) -> bool (46207.0) -
ファイルがカレントプロセスの実ユーザか実グループによって読み込み可能な時に真を 返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
ファイルがカレントプロセスの実ユーザか実グループによって読み込み可能な時に真を
返します。そうでない場合、ファイルが存在しない場合、あるいはシステムコールに失敗した場合などには false を返します。
@param file ファイル名を表す文字列を指定します。
@see FileTest.#readable? -
File
. readable?(path) -> bool (45907.0) -
FileTest.#readable? と同じです。
FileTest.#readable? と同じです。
@param path パスを表す文字列か IO オブジェクトを指定します。 -
File
. readable _ real?(path) -> bool (45907.0) -
FileTest.#readable_real? と同じです。
FileTest.#readable_real? と同じです。
@param path パスを表す文字列か IO オブジェクトを指定します。 -
File
. world _ readable?(path) -> Integer | nil (45907.0) -
path が全てのユーザから読めるならばそのファイルのパーミッションを表す 整数を返します。そうでない場合は nil を返します。
path が全てのユーザから読めるならばそのファイルのパーミッションを表す
整数を返します。そうでない場合は nil を返します。
整数の意味はプラットフォームに依存します。
@param path パスを表す文字列か IO オブジェクトを指定します。
//emlist[例][ruby]{
m = File.world_readable?("/etc/passwd")
"%o" % m # => "644"
//} -
File
:: Stat # readable? -> bool (45907.0) -
読み込み可能な時に真を返します。
読み込み可能な時に真を返します。
//emlist[][ruby]{
p File::Stat.new($0).readable? #=> true
//} -
File
:: Stat # readable _ real? -> bool (45907.0) -
実ユーザ/実グループによって読み込み可能な時に真を返します。
実ユーザ/実グループによって読み込み可能な時に真を返します。
//emlist[][ruby]{
p File::Stat.new($0).readable_real? #=> true
//} -
File
:: Stat # world _ readable? -> Integer | nil (45907.0) -
全てのユーザから読めるならば、そのファイルのパーミッションを表す 整数を返します。そうでない場合は nil を返します。
全てのユーザから読めるならば、そのファイルのパーミッションを表す
整数を返します。そうでない場合は nil を返します。
整数の意味はプラットフォームに依存します。
//emlist[][ruby]{
m = File.stat("/etc/passwd").world_readable? # => 420
sprintf("%o", m) # => "644"
//} -
FileTest
. # world _ readable?(path) -> Integer | nil (45907.0) -
path が全てのユーザから読めるならばそのファイルのパーミッションを表す 整数を返します。そうでない場合は nil を返します。
path が全てのユーザから読めるならばそのファイルのパーミッションを表す
整数を返します。そうでない場合は nil を返します。
整数の意味はプラットフォームに依存します。
@param path パスを表す文字列を指定します。
m = FileTest.world_readable?("/etc/passwd")
"%o" % m # => "644" -
Thread
# thread _ variable?(key) -> bool (45907.0) -
引数 key で指定した名前のスレッドローカル変数が存在する場合に true、そ うでない場合に false を返します。
引数 key で指定した名前のスレッドローカル変数が存在する場合に true、そ
うでない場合に false を返します。
@param key 変数名を String か Symbol で指定します。
me = Thread.current
me.thread_variable_set(:oliver, "a")
me.thread_variable?(:oliver) # => true
me.thread_variable?(:stanley) # => false
[注意]: Thread#[] でセットしたローカル変数(Fiber ローカル... -
Thread
# thread _ variable _ get(key) -> object | nil (45907.0) -
引数 key で指定した名前のスレッドローカル変数を返します。
引数 key で指定した名前のスレッドローカル変数を返します。
[注意]: Thread#[] でセットしたローカル変数(Fiber ローカル変数)と
異なり、Fiber を切り替えても同じ変数を返す事に注意してください。
例:
Thread.new {
Thread.current.thread_variable_set("foo", "bar") # スレッドローカル
Thread.current["foo"] = "bar" # Fiber ローカル
Fiber.new {
Fiber.yield ... -
Thread
# thread _ variable _ set(key , value) (45625.0) -
引数 key で指定した名前のスレッドローカル変数に引数 value をセットしま す。
引数 key で指定した名前のスレッドローカル変数に引数 value をセットしま
す。
[注意]: Thread#[] でセットしたローカル変数(Fiber ローカル変数)と
異なり、セットした変数は Fiber を切り替えても共通で使える事に注意してく
ださい。
//emlist[例][ruby]{
thr = Thread.new do
Thread.current.thread_variable_set(:cat, 'meow')
Thread.current.thread_variable_set("dog", 'woof')
end
thr.join ... -
ARGF
. class # readline(limit) -> String (37207.0) -
ARGFの現在位置から一行ずつ文字列として読み込みます。EOF に到達した時に は EOFError を発生します。
ARGFの現在位置から一行ずつ文字列として読み込みます。EOF に到達した時に
は EOFError を発生します。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切
りなしとみなします。空文字列 "" を指定すると連続する改行を行
の区切りとみなします(パラグラフモード)。
@param limit 最大の読み込みバイト数
@raise EOFError EOFに達したら発生する
@see Kernel.#readline, ARGF.class#gets -
ARGF
. class # readline(rs , limit) -> String (37207.0) -
ARGFの現在位置から一行ずつ文字列として読み込みます。EOF に到達した時に は EOFError を発生します。
ARGFの現在位置から一行ずつ文字列として読み込みます。EOF に到達した時に
は EOFError を発生します。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切
りなしとみなします。空文字列 "" を指定すると連続する改行を行
の区切りとみなします(パラグラフモード)。
@param limit 最大の読み込みバイト数
@raise EOFError EOFに達したら発生する
@see Kernel.#readline, ARGF.class#gets -
ARGF
. class # readlines(limit) -> Array (37207.0) -
ARGFの各行を配列に読み込んで返します。rsがnilの場合は要素に各ファイルを すべて読み込んだ配列を返します。
ARGFの各行を配列に読み込んで返します。rsがnilの場合は要素に各ファイルを
すべて読み込んだ配列を返します。
@param rs 行区切り文字
@param limit 最大の読み込みバイト数
lines = ARGF.readlines
lines[0] # => "This is line one\n"
@see $/, Kernel.#readlines, IO#readlines -
ARGF
. class # readlines(rs , limit) -> Array (37207.0) -
ARGFの各行を配列に読み込んで返します。rsがnilの場合は要素に各ファイルを すべて読み込んだ配列を返します。
ARGFの各行を配列に読み込んで返します。rsがnilの場合は要素に各ファイルを
すべて読み込んだ配列を返します。
@param rs 行区切り文字
@param limit 最大の読み込みバイト数
lines = ARGF.readlines
lines[0] # => "This is line one\n"
@see $/, Kernel.#readlines, IO#readlines -
IO
# readline(limit , chomp: false) -> String (37207.0) -
一行読み込んで、読み込みに成功した時にはその文字列を返します。 EOF に到達した時には EOFError が発生します。
一行読み込んで、読み込みに成功した時にはその文字列を返します。
EOF に到達した時には EOFError が発生します。
テキスト読み込みメソッドとして動作します。
読み込んだ文字列を変数 $_ にセットします。IO#gets との違いは EOF での振る舞いのみです。
limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で
切れないように余分に読み込む場合があります。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード... -
IO
# readline(rs , limit , chomp: false) -> String (37207.0) -
一行読み込んで、読み込みに成功した時にはその文字列を返します。 EOF に到達した時には EOFError が発生します。
一行読み込んで、読み込みに成功した時にはその文字列を返します。
EOF に到達した時には EOFError が発生します。
テキスト読み込みメソッドとして動作します。
読み込んだ文字列を変数 $_ にセットします。IO#gets との違いは EOF での振る舞いのみです。
limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で
切れないように余分に読み込む場合があります。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード... -
IO
# readlines(limit , chomp: false) -> [String] (37207.0) -
データを全て読み込んで、その各行を要素としてもつ配列を返します。 既に EOF に達していれば空配列 [] を返します。
データを全て読み込んで、その各行を要素としてもつ配列を返します。
既に EOF に達していれば空配列 [] を返します。
テキスト読み込みメソッドとして動作します。
limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で
切れないように余分に読み込む場合があります。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
@param limit 最大の読み込みバイト数
@param chomp tru... -
IO
# readlines(rs , limit , chomp: false) -> [String] (37207.0) -
データを全て読み込んで、その各行を要素としてもつ配列を返します。 既に EOF に達していれば空配列 [] を返します。
データを全て読み込んで、その各行を要素としてもつ配列を返します。
既に EOF に達していれば空配列 [] を返します。
テキスト読み込みメソッドとして動作します。
limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で
切れないように余分に読み込む場合があります。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
@param limit 最大の読み込みバイト数
@param chomp tru... -
IO
. readlines(path , limit , chomp: false , opts={}) -> [String] (37207.0) -
path で指定されたファイルを全て読み込んで、その各行を要素としてもつ配列を返します。
path で指定されたファイルを全て読み込んで、その各行を要素としてもつ配列を返します。
Kernel.#open と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。
テキスト読み込みメソッドとして動作します。
limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で
切れないように余分に読み込む場合があります。
opts でファイルを開くときのオプションを指定します。エンコーディングなど
を指定できます。
File.open と同様なのでそちらを参照してください。
@param path ファイル名を表す文字列か "|コ... -
IO
. readlines(path , rs , limit , chomp: false , opts={}) -> [String] (37207.0) -
path で指定されたファイルを全て読み込んで、その各行を要素としてもつ配列を返します。
path で指定されたファイルを全て読み込んで、その各行を要素としてもつ配列を返します。
Kernel.#open と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。
テキスト読み込みメソッドとして動作します。
limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で
切れないように余分に読み込む場合があります。
opts でファイルを開くときのオプションを指定します。エンコーディングなど
を指定できます。
File.open と同様なのでそちらを参照してください。
@param path ファイル名を表す文字列か "|コ... -
IO
# read _ nonblock(maxlen , outbuf = nil , exception: true) -> String | Symbol | nil (37066.0) -
IO をノンブロッキングモードに設定し、 その後で read(2) システムコールにより 長さ maxlen を上限として読み込み、文字列として返します。 EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。
IO をノンブロッキングモードに設定し、
その後で read(2) システムコールにより
長さ maxlen を上限として読み込み、文字列として返します。
EAGAIN, EINTR などは Errno::EXXX 例外として呼出元に報告されます。
発生した例外 がErrno::EAGAIN、 Errno::EWOULDBLOCK である場合は、
その例外オブジェクトに IO::WaitReadable が Object#extend
されます。
なお、バッファが空でない場合は、read_nonblock はバッファから読み込みます。この場合、read(2) システムコールは呼ばれません... -
ARGF
. class # read _ nonblock(maxlen , outbuf = nil , exception: true) -> String | Symbol | nil (36976.0) -
処理中のファイルからノンブロッキングモードで最大 maxlen バイト読み込みます。 詳しくは IO#read_nonblock を参照してください。
処理中のファイルからノンブロッキングモードで最大 maxlen バイト読み込みます。
詳しくは IO#read_nonblock を参照してください。
ARGF.class#read などとは違って複数ファイルを同時に読み込むことはありません。
@param maxlen 読み込む長さの上限を整数で指定します。
@param outbuf 読み込んだデータを格納する String オブジェクトを指定します。
@param exception 読み込み時に Errno::EAGAIN、
Errno::EWOULDBLOCK が発生する代わりに
... -
ARGF
. class # readpartial(maxlen , outbuf = nil) -> String (36973.0) -
IO#readpartialを参照。ARGF.class#read などとは違って複数ファ イルを同時に読み込むことはありません。
IO#readpartialを参照。ARGF.class#read などとは違って複数ファ
イルを同時に読み込むことはありません。
@param maxlen 読み込む長さの上限を整数で指定します。
@param outbuf 読み込んだデータを格納する String オブジェクトを指定します。
@see IO#readpartial, ARGF.class#read_nonblock -
IO
# close _ read -> nil (36928.0) -
読み込み用の IO を close します。主にパイプや読み書き両用に作成し た IO オブジェクトで使用します。
読み込み用の IO を close します。主にパイプや読み書き両用に作成し
た IO オブジェクトで使用します。
既に close されていた場合には単に無視されます。
@raise IOError 自身が読み込み用にオープンされていなければ発生します。
@raise Errno::EXXX close に失敗した場合に発生します。
//emlist[例][ruby]{
IO.popen("/bin/sh","r+") do |f|
f.close_read
# f.readlines # => IOError: not opened for reading
end
//}... -
ARGF
. class # readline(rs = $ / ) -> String (36907.0) -
ARGFの現在位置から一行ずつ文字列として読み込みます。EOF に到達した時に は EOFError を発生します。
ARGFの現在位置から一行ずつ文字列として読み込みます。EOF に到達した時に
は EOFError を発生します。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切
りなしとみなします。空文字列 "" を指定すると連続する改行を行
の区切りとみなします(パラグラフモード)。
@param limit 最大の読み込みバイト数
@raise EOFError EOFに達したら発生する
@see Kernel.#readline, ARGF.class#gets -
ARGF
. class # readlines(rs = $ / ) -> Array (36907.0) -
ARGFの各行を配列に読み込んで返します。rsがnilの場合は要素に各ファイルを すべて読み込んだ配列を返します。
ARGFの各行を配列に読み込んで返します。rsがnilの場合は要素に各ファイルを
すべて読み込んだ配列を返します。
@param rs 行区切り文字
@param limit 最大の読み込みバイト数
lines = ARGF.readlines
lines[0] # => "This is line one\n"
@see $/, Kernel.#readlines, IO#readlines -
File
. readlink(path) -> String (36907.0) -
シンボリックリンクのリンク先のパスを文字列で返します。
シンボリックリンクのリンク先のパスを文字列で返します。
@param path シンボリックリンクを表す文字列を指定します。
@raise Errno::EXXX 指定された path がシンボリックリンクでない場合や、リンクの読み取りに失敗した場合に発生します。
//emlist[例:][ruby]{
IO.write("testfile", "test")
File.symlink("testfile", "testlink") # => 0
File.readlink("testlink") # => "testfile"
//} -
IO
# readline(rs = $ / , chomp: false) -> String (36907.0) -
一行読み込んで、読み込みに成功した時にはその文字列を返します。 EOF に到達した時には EOFError が発生します。
一行読み込んで、読み込みに成功した時にはその文字列を返します。
EOF に到達した時には EOFError が発生します。
テキスト読み込みメソッドとして動作します。
読み込んだ文字列を変数 $_ にセットします。IO#gets との違いは EOF での振る舞いのみです。
limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で
切れないように余分に読み込む場合があります。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード... -
IO
# readlines(rs = $ / , chomp: false) -> [String] (36907.0) -
データを全て読み込んで、その各行を要素としてもつ配列を返します。 既に EOF に達していれば空配列 [] を返します。
データを全て読み込んで、その各行を要素としてもつ配列を返します。
既に EOF に達していれば空配列 [] を返します。
テキスト読み込みメソッドとして動作します。
limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で
切れないように余分に読み込む場合があります。
@param rs 行の区切りを文字列で指定します。rs に nil を指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなします(パラグラフモード)。
@param limit 最大の読み込みバイト数
@param chomp tru... -
IO
# readpartial(maxlen , outbuf = "") -> String (36907.0) -
IO から長さ maxlen を上限として読み込み、文字列として返します。 即座に得られるデータが存在しないときにはブロックしてデータの到着を待ちます。 即座に得られるデータが 1byte でも存在すればブロックしません。
IO から長さ maxlen を上限として読み込み、文字列として返します。
即座に得られるデータが存在しないときにはブロックしてデータの到着を待ちます。
即座に得られるデータが 1byte でも存在すればブロックしません。
バイナリ読み込みメソッドとして動作します。
既に EOF に達していれば EOFError が発生します。
ただし、maxlen に 0 が指定されている場合は、空文字列 "" を返します。
readpartial はブロックを最小限に抑えることによって、
パイプ、ソケット、端末などのストリームに対して適切に動作するよう設計されています。
readpartial が... -
IO
. readlines(path , rs = $ / , chomp: false , opts={}) -> [String] (36907.0) -
path で指定されたファイルを全て読み込んで、その各行を要素としてもつ配列を返します。
path で指定されたファイルを全て読み込んで、その各行を要素としてもつ配列を返します。
Kernel.#open と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。
テキスト読み込みメソッドとして動作します。
limit で最大読み込みバイト数を指定します。ただしマルチバイト文字が途中で
切れないように余分に読み込む場合があります。
opts でファイルを開くときのオプションを指定します。エンコーディングなど
を指定できます。
File.open と同様なのでそちらを参照してください。
@param path ファイル名を表す文字列か "|コ... -
Kernel
. # readline(rs = $ / ) -> String (36907.0) -
ARGFから一行読み込んで、それを返します。 行の区切りは引数 rs で指定した文字列になります。
ARGFから一行読み込んで、それを返します。
行の区切りは引数 rs で指定した文字列になります。
rs に nil を指定すると行区切りなしとみなしてファイルの内容を
すべて読み込みます。ARGVに複数のファイル名が存在する場合は1度に1ファイルずつ読み込みます。
空文字列 "" を指定すると連続する改行を行の区切りとみなします
(パラグラフモード)。
読み込んだ文字列は組み込み変数 $_ にもセットされます。
@param rs 行の区切りとなる文字列です。
@raise Errno::EXXX 読み込みに失敗した場合に発生します。
@raise EOFError readline... -
Kernel
. # readlines(rs = $ / ) -> [String] (36907.0) -
ARGFを Kernel.#gets(rs) でEOFまで読み込んで、その各行を要素としてもつ配列を返します。 行の区切りは引数 rs で指定した文字列になります。
ARGFを Kernel.#gets(rs) でEOFまで読み込んで、その各行を要素としてもつ配列を返します。
行の区切りは引数 rs で指定した文字列になります。
rs に nil を指定すると行区切りなしとみなします。
空文字列 "" を指定すると連続する改行を行の区切りとみなします
(パラグラフモード)。
@param rs 行の区切りとなる文字列です。
@raise Errno::EXXX 読み込みに失敗した場合に発生します。
//emlist[main.rb][ruby]{
ARGV << 'b.txt' << 'b.txt'
p readlines #=> ["... -
Process
:: CLOCK _ THREAD _ CPUTIME _ ID -> Integer (36907.0) -
Process.#clock_gettime で使われます。
Process.#clock_gettime で使われます。
システムによっては定義されていません。 -
Thread
. kill(thread) -> Thread (28225.0) -
指定したスレッド thread に対して Thread#exit を呼びます。終了したスレッドを返します。
指定したスレッド thread に対して Thread#exit を呼びます。終了したスレッドを返します。
@param thread 終了したい Thread オブジェクトを指定します。
th = Thread.new do
end
p Thread.kill(th) #=> #<Thread:0x40221bc8 dead> -
Thread
# backtrace _ locations(range) -> [Thread :: Backtrace :: Location] | nil (28207.0) -
スレッドの現在のバックトレースを Thread::Backtrace::Location の配 列で返します。
スレッドの現在のバックトレースを Thread::Backtrace::Location の配
列で返します。
引数で指定した値が範囲外の場合、スレッドがすでに終了している場合は nil
を返します。
@param start 開始フレームの位置を数値で指定します。
@param length 取得するフレームの個数を指定します。
@param range 取得したいフレームの範囲を示す Range オブジェクトを指定します。
Kernel.#caller_locations と似ていますが、本メソッドは self に限定
した情報を返します。
//emlist[例][ruby]... -
Thread
# backtrace _ locations(start = 0 , length = nil) -> [Thread :: Backtrace :: Location] | nil (28207.0) -
スレッドの現在のバックトレースを Thread::Backtrace::Location の配 列で返します。
スレッドの現在のバックトレースを Thread::Backtrace::Location の配
列で返します。
引数で指定した値が範囲外の場合、スレッドがすでに終了している場合は nil
を返します。
@param start 開始フレームの位置を数値で指定します。
@param length 取得するフレームの個数を指定します。
@param range 取得したいフレームの範囲を示す Range オブジェクトを指定します。
Kernel.#caller_locations と似ていますが、本メソッドは self に限定
した情報を返します。
//emlist[例][ruby]... -
Module
# attr _ reader(*name) -> nil (27907.0) -
インスタンス変数 name の読み取りメソッドを定義します。
インスタンス変数 name の読み取りメソッドを定義します。
このメソッドで定義されるメソッドの定義は以下の通りです。
//emlist[例][ruby]{
def name
@name
end
//}
@param name String または Symbol を 1 つ以上指定します。 -
Thread
. list -> [Thread] (27907.0) -
全ての生きているスレッドを含む配列を生成して返します。aborting 状態であるスレッド も要素に含まれます。
全ての生きているスレッドを含む配列を生成して返します。aborting 状態であるスレッド
も要素に含まれます。
Thread.new do
sleep
end
sleep 0.1
p Thread.list #=> [#<Thread:0x40377a54 sleep>, #<Thread:0x4022e6fc run>] -
ThreadGroup
# list -> [Thread] (27907.0) -
self に属するスレッドの配列を返します。 version 1.8 では、aborting 状態であるスレッド も要素に含まれます。つまり「生きている」スレッドの配列を返します。
self に属するスレッドの配列を返します。
version 1.8 では、aborting 状態であるスレッド
も要素に含まれます。つまり「生きている」スレッドの配列を返します。
//emlist[例][ruby]{
ThreadGroup::Default.list # => [#<Thread:0x00007f8f13867078 run>]
//} -
ThreadGroup
:: Default -> ThreadGroup (27907.0) -
デフォルトで定義されている ThreadGroup です。メインスレッド は最初このグループに属します。
デフォルトで定義されている ThreadGroup です。メインスレッド
は最初このグループに属します。 -
ARGF
. class # readbyte -> Integer (27625.0) -
自身から 1 バイトを読み込み整数として返します。 既に EOF に達していれば EOFError が発生します。
自身から 1 バイトを読み込み整数として返します。
既に EOF に達していれば EOFError が発生します。
@raise 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)... -
ARGF
. class # readchar -> String (27625.0) -
ARGFから 1 文字読み込んで、その文字に対応する String を返します。EOF に 到達した時には EOFErrorを発生します。
ARGFから 1 文字読み込んで、その文字に対応する String を返します。EOF に
到達した時には EOFErrorを発生します。
@raise 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 (EOFEr... -
Thread
# alive? -> bool (27625.0) -
スレッドが「生きている」時、true を返します。
スレッドが「生きている」時、true を返します。
例:
thr = Thread.new { }
thr.join # => #<Thread:0x401b3fb0 dead>
Thread.current.alive? # => true
thr.alive? # => false
Thread#status が真を返すなら、このメソッドも真です。
@see Thread#status, Thread#stop? -
Thread
:: Backtrace :: Location # base _ label -> String (27625.0) -
self が表すフレームの基本ラベルを返します。通常、 Thread::Backtrace::Location#label から修飾を取り除いたもので構成 されます。
self が表すフレームの基本ラベルを返します。通常、
Thread::Backtrace::Location#label から修飾を取り除いたもので構成
されます。
//emlist[例][ruby]{
# foo.rb
class Foo
attr_accessor :locations
def initialize(skip)
@locations = caller_locations(skip)
end
end
Foo.new(0..2).locations.map do |call|
puts call.base_label
end
# => init... -
Encoding
:: InvalidByteSequenceError # readagain _ bytes -> String (27607.0) -
エラー発生時に読み直さなければならないバイト列を返します。
エラー発生時に読み直さなければならないバイト列を返します。
@see Encoding::InvalidByteSequenceError#error_bytes -
Thread
# safe _ level -> Integer (27607.0) -
セーフレベルを返します。
セーフレベルを返します。
Ruby 2.6 から$SAFEがプロセスグローバルになったため、このメソッドは obsolete になりました。
単純に $SAFE をチェックしてください。
セーフレベルについてはspec/safelevelを参照してください。
//emlist[例][ruby]{
thr = Thread.new { $SAFE = 1; sleep }
Thread.current.safe_level # => 0
thr.safe_level # => 1
//} -
Thread
# value -> object (27607.0) -
スレッド self が終了するまで待ち(Thread#join と同じ)、 そのスレッドのブロックが返した値を返します。スレッド実行中に例外が 発生した場合には、その例外を再発生させます。
スレッド self が終了するまで待ち(Thread#join と同じ)、
そのスレッドのブロックが返した値を返します。スレッド実行中に例外が
発生した場合には、その例外を再発生させます。
スレッドが Thread#kill によって終了した場合は、返り値は不定です。
以下は、生成したすべてのスレッドの終了を待ち結果を出力する例です。
threads = []
threads.push(Thread.new { n = rand(5); sleep n; n })
threads.push(Thread.new { n = rand(5); sleep n; n })... -
Thread
. exclusive { . . . } -> object (27607.0) -
VM グローバルの Mutex をロックし、ブロックを実行します。
VM グローバルの Mutex をロックし、ブロックを実行します。
このクラスメソッドの挙動は 1.8 以前とは違います。
Thread.exclusive は VM グローバルの Mutex の
synchronize を呼び出しているだけで、Thread.exclusive していないスレッドは動きます。
Thread::Mutex や Monitor などの他の排他制御の方法を検討してください。 -
Thread
. handle _ interrupt(hash) { . . . } -> object (27607.0) -
スレッドの割り込みのタイミングを引数で指定した内容に変更してブロックを 実行します。
スレッドの割り込みのタイミングを引数で指定した内容に変更してブロックを
実行します。
「割り込み」とは、非同期イベントや Thread#raise や
Thread#kill、Signal.#trap(未サポート)、メインスレッドの終了
(メインスレッドが終了すると、他のスレッドも終了されます)を意味します。
@param hash 例外クラスがキー、割り込みのタイミングを指定する
Symbol が値の Hash を指定します。
値の内容は以下のいずれかです。
: :immediate
すぐに割り込みます。
: :on_block... -
Thread
:: Backtrace :: Location # absolute _ path -> String (27607.0) -
self が表すフレームの絶対パスを返します。
self が表すフレームの絶対パスを返します。
//emlist[例][ruby]{
# foo.rb
class Foo
attr_accessor :locations
def initialize(skip)
@locations = caller_locations(skip)
end
end
Foo.new(0..2).locations.map do |call|
puts call.absolute_path
end
# => /path/to/foo.rb
# /path/to/foo.rb
# /path/to/foo.rb
//}
@see... -
Thread
:: Backtrace :: Location # label -> String (27607.0) -
self が表すフレームのラベルを返します。通常、メソッド名、クラス名、モ ジュール名などで構成されます。
self が表すフレームのラベルを返します。通常、メソッド名、クラス名、モ
ジュール名などで構成されます。
例: Thread::Backtrace::Location の例1を用いた例
//emlist[][ruby]{
loc = c(0..1).first
loc.label # => "a"
//}
@see Thread::Backtrace::Location#base_label -
Thread
:: Backtrace :: Location # lineno -> Integer (27607.0) -
self が表すフレームの行番号を返します。
self が表すフレームの行番号を返します。
例: Thread::Backtrace::Location の例1を用いた例
//emlist[][ruby]{
loc = c(0..1).first
loc.lineno # => 2
//} -
Thread
:: ConditionVariable # signal -> self (27607.0) -
状態変数を待っているスレッドを1つ再開します。再開された スレッドは Thread::ConditionVariable#wait で指定した mutex のロックを試みます。
状態変数を待っているスレッドを1つ再開します。再開された
スレッドは Thread::ConditionVariable#wait
で指定した mutex のロックを試みます。
@return 常に self を返します。
//emlist[例][ruby]{
mutex = Mutex.new
cv = ConditionVariable.new
flg = true
3.times {
Thread.start {
mutex.synchronize {
puts "a1"
while (flg)
cv.wait(mutex)
... -
Thread
:: Mutex # lock -> self (27607.0) -
mutex オブジェクトをロックします。一度に一つのス レッドだけが mutex をロックできます。既にロックされている mutex に対してロックを行おうとしたスレッドは mutex のロックが解放さ れるまで、実行が停止されます。
mutex オブジェクトをロックします。一度に一つのス
レッドだけが mutex をロックできます。既にロックされている mutex
に対してロックを行おうとしたスレッドは mutex のロックが解放さ
れるまで、実行が停止されます。
@raise ThreadError self 既にカレントスレッドにロックされている場合に発
生します。
また、Signal.#trap に指定したハンドラ内で実行
した場合に発生します。
@see Thread::Mutex#unlock
... -
Thread
:: Mutex # locked? -> bool (27607.0) -
mutex がロックされている時、真を返します。
mutex がロックされている時、真を返します。
//emlist[例][ruby]{
m = Mutex.new
m.locked? # => false
m.lock
m.locked? # => true
//} -
Thread
:: Mutex # sleep(timeout = nil) -> Integer (27607.0) -
与えられた秒数の間ロックを解除してスリープして、実行後にまたロックします。
与えられた秒数の間ロックを解除してスリープして、実行後にまたロックします。
@param timeout スリープする秒数を指定します。省略するとスリープし続けます。
@return スリープしていた秒数を返します。
@raise ThreadError 自身がカレントスレッドによってロックされていない場合に発生します。
[注意] 2.0 以降ではスリープ中でも、シグナルを受信した場合などに実行が再
開(spurious wakeup)される場合がある点に注意してください。
//emlist[例][ruby]{
m = Mutex.new
th = Thread.new do
... -
Thread
:: Mutex # try _ lock -> bool (27607.0) -
mutex をロックしようとして、ロックが成功した場合、真を返します。 ロックできなかった場合にはブロックせず偽を返します。
mutex をロックしようとして、ロックが成功した場合、真を返します。
ロックできなかった場合にはブロックせず偽を返します。
//emlist[例][ruby]{
m = Mutex.new
m.try_lock # => true
m.try_lock # => false
//} -
Thread
:: Mutex # unlock -> self (27607.0) -
mutex のロックを解放します。mutex のロック待ちになっていたスレッドの実行は再開されます。
mutex のロックを解放します。mutex のロック待ちになっていたスレッドの実行は再開されます。
@return self を返します。
例:
m = Mutex.new
begin
m.lock
# critical part
ensure
m.unlock
end
Mutex はロックしたスレッド以外からロックを開放することは出来ません。
ロックしたスレッド以外から unlock が呼ばれると ThreadError が発生します。
m = Mutex.new
m.lock
Thread.new do
m.unlock # => Thr... -
Thread
:: Queue # clear -> () (27607.0) -
キューを空にします。返り値は不定です。
キューを空にします。返り値は不定です。
//emlist[例][ruby]{
q = Queue.new
[:resource1, :resource2, :resource3, nil].each { |r| q.push(r) }
q.length # => 4
q.clear
q.length # => 0
//} -
Thread
:: Queue # close -> self (27607.0) -
キューを close します。close 済みのキューを再度 open することはできません。
キューを close します。close 済みのキューを再度 open することはできません。
close 後は以下のように動作します。
* Thread::Queue#closed? は true を返します
* Thread::Queue#close は無視されます
* Thread::Queue#enq/push/<< は ClosedQueueError を発生します
* Thread::Queue#empty? が false を返す場合は Thread::Queue#deq/pop/shift は通常通りオブジェクトを返します
また、ClosedQueueError... -
Thread
:: Queue # closed? -> bool (27607.0) -
キューが close されている時に true を返します。
キューが close されている時に true を返します。
//emlist[例][ruby]{
q = Queue.new
[:resource1, :resource2, :resource3, nil].each { |r| q.push(r) }
q.closed? # => false
q.close
q.closed? # => true
//} -
Thread
:: Queue # length -> Integer (27607.0) -
キューの長さを返します。
キューの長さを返します。
//emlist[例][ruby]{
q = Queue.new
[:resource1, :resource2, :resource3, nil].each { |r| q.push(r) }
q.length # => 4
//} -
Thread
:: SizedQueue # close -> self (27607.0) -
キューを close します。詳しくは Thread::Queue#close を参照してください。
キューを close します。詳しくは Thread::Queue#close を参照してください。
Thread::Queue とはキューにオブジェクトを追加するスレッドの動作が
異なります。キューにオブジェクトを追加するスレッドを待機している場合は
ClosedQueueError が発生して中断されます。
//emlist[例][ruby]{
q = SizedQueue.new(4)
[:resource1, :resource2, :resource3, nil].each { |r| q.push(r) }
q.closed? # => false
q.close
q.c... -
Thread
:: SizedQueue # length -> Integer (27607.0) -
キューの長さを返します。
キューの長さを返します。 -
ThreadGroup
# enclose -> self (27607.0) -
自身への ThreadGroup#add によるスレッドの追加・削除を禁止します。 enclose された ThreadGroup に追加や削除を行うと例外 ThreadError が発生します。
自身への ThreadGroup#add によるスレッドの追加・削除を禁止します。
enclose された ThreadGroup に追加や削除を行うと例外 ThreadError が発生します。
ただし、Thread.new によるスレッドの追加は禁止されません。enclose されたスレッドグループ A に
属するスレッドが新たにスレッドを生成した場合、生成されたスレッドはスレッドグループ A に属します。
追加の例:
thg = ThreadGroup.new.enclose
thg.add Thread.new {}
=> -:2:in `add': can't ... -
ThreadGroup
# enclosed? -> bool (27607.0) -
自身が enclose されているなら true を返します。そうでないなら false を返します。デフォルトは false です。
自身が enclose されているなら true を返します。そうでないなら false を返します。デフォルトは false です。
freeze された ThreadGroup には Thread の追加/削除ができませんが、enclosed? は false を返します。
thg = ThreadGroup.new
p thg.enclosed? # => false
thg.enclose
p thg.enclosed? # => true
thg = ThreadGroup.new
p thg.e... -
Exception
# backtrace _ locations -> [Thread :: Backtrace :: Location] (19207.0) -
バックトレース情報を返します。Exception#backtraceに似ていますが、 Thread::Backtrace::Location の配列を返す点が異なります。
バックトレース情報を返します。Exception#backtraceに似ていますが、
Thread::Backtrace::Location の配列を返す点が異なります。
現状では Exception#set_backtrace によって戻り値が変化する事はあり
ません。
//emlist[例: test.rb][ruby]{
require "date"
def check_long_month(month)
return if Date.new(2000, month, -1).day == 31
raise "#{month} is not long month"
end
... -
IO
# sysread(maxlen , outbuf = "") -> String (18955.0) -
read(2) を用いて入力を行ない、入力されたデータを 含む文字列を返します。stdio を経由しないので gets や getc や eof? などと混用すると思わぬ動作 をすることがあります。
read(2) を用いて入力を行ない、入力されたデータを
含む文字列を返します。stdio を経由しないので gets や getc や eof? などと混用すると思わぬ動作
をすることがあります。
バイナリ読み込みメソッドとして動作します。
既に EOF に達していれば EOFError が発生します。ただし、maxlen に 0 が指定されている場合は、空文字列 "" を返します。
@param maxlen 入力のサイズを整数で指定します。
@param outbuf 出力用のバッファを文字列で指定します。IO#sysread は読み込んだデータを
... -
IO
# pread(maxlen , offset , outbuf = "") -> string (18943.0) -
preadシステムコールを使ってファイルポインタを変更せずに、また現在のファイルポインタに 依存せずにmaxlenバイト読み込みます。
preadシステムコールを使ってファイルポインタを変更せずに、また現在のファイルポインタに
依存せずにmaxlenバイト読み込みます。
IO#seekとIO#readの組み合わせと比べて、アトミックな操作に
なるという点が優れていて、複数スレッド/プロセスから同じIOオブジェクトを
様々な位置から読み込むことを許します。
どのユーザー空間のIO層のバッファリングもバイパスします。
@param maxlen 読み込むバイト数を指定します。
@param offset 読み込み開始位置のファイルの先頭からのオフセットを指定します。
@param outbuf データを受け取る String... -
IO
. binread(path , length = nil , offset = 0) -> String | nil (18925.0) -
path で指定したファイルを open し、offset の所まで seek し、 length バイト読み込みます。
path で指定したファイルを open し、offset の所まで seek し、
length バイト読み込みます。
Kernel.#open と同様 path の先頭が "|" ならば、"|" に続くコマンドの出力を読み取ります。
length を省略するとファイルの末尾まで読み込みます。
ファイルを開くときの mode は "rb:ASCII-8BIT" です。
//emlist[例][ruby]{
IO.write("testfile", "This is line one\nThis is line two\nThis is line three\nAnd so on...... -
IO
. select(reads , writes = [] , excepts = [] , timeout = nil) -> [[IO]] | nil (18925.0) -
select(2) を実行します。
select(2) を実行します。
与えられた入力/出力/例外待ちの IO オブジェクトの中から準備ができたものを
それぞれ配列にして、配列の配列として返します。
タイムアウトした時には nil を返します。
@param reads 入力待ちする IO オブジェクトの配列を渡します。
@param writes 出力待ちする IO オブジェクトの配列を渡します。
@param excepts 例外待ちする IO オブジェクトの配列を渡します。
@param timeout タイムアウトまでの時間を表す数値または nil を指定します。数値で指定したときの単位は秒です。nil を... -
Kernel
. # caller _ locations(range) -> [Thread :: Backtrace :: Location] | nil (18907.0) -
現在のフレームを Thread::Backtrace::Location の配列で返します。引 数で指定した値が範囲外の場合は nil を返します。
現在のフレームを Thread::Backtrace::Location の配列で返します。引
数で指定した値が範囲外の場合は nil を返します。
@param start 開始フレームの位置を数値で指定します。
@param length 取得するフレームの個数を指定します。
@param range 取得したいフレームの範囲を示す Range オブジェクトを指定します。
//emlist[例][ruby]{
def test1(start, length)
locations = caller_locations(start, length)
p locations
... -
Kernel
. # caller _ locations(start = 1 , length = nil) -> [Thread :: Backtrace :: Location] | nil (18907.0) -
現在のフレームを Thread::Backtrace::Location の配列で返します。引 数で指定した値が範囲外の場合は nil を返します。
現在のフレームを Thread::Backtrace::Location の配列で返します。引
数で指定した値が範囲外の場合は nil を返します。
@param start 開始フレームの位置を数値で指定します。
@param length 取得するフレームの個数を指定します。
@param range 取得したいフレームの範囲を示す Range オブジェクトを指定します。
//emlist[例][ruby]{
def test1(start, length)
locations = caller_locations(start, length)
p locations
... -
Kernel
. # select(reads , writes = [] , excepts = [] , timeout = nil) -> [[IO]] | nil (18907.0) -
IO.select と同じです。
IO.select と同じです。
@param reads IO.select 参照
@param writes IO.select 参照
@param excepts IO.select 参照
@param timeout IO.select 参照
@see IO.select -
Thread
:: ConditionVariable . new -> Thread :: ConditionVariable (18907.0) -
状態変数を生成して返します。
状態変数を生成して返します。 -
ARGF
. class # file -> IO (18697.0) -
現在開いている処理対象の File オブジェクト(または IO オブジェ クト)を返します。
現在開いている処理対象の 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 を返します。 -
ARGF
. class # filename -> String (18679.0) -
現在開いている処理対象のファイル名を返します。
現在開いている処理対象のファイル名を返します。
標準入力に対しては - を返します。
組み込み変数 $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" -
IO
# close -> nil (18679.0) -
入出力ポートをクローズします。
入出力ポートをクローズします。
以後このポートに対して入出力を行うと例外 IOError が発生しま
す。ガーベージコレクトの際にはクローズされていない IO ポートはクロー
ズされます。
self がパイプでプロセスにつながっていれば、そのプロセスの終
了を待ち合わせます。
既に close されていた場合には単に無視されます。
@raise Errno::EXXX close に失敗した場合に発生します。
//emlist[例][ruby]{
IO.write("testfile", "test")
f = File.open("testfile")
f.read # => ... -
File
# flock(operation) -> 0 | false (18661.0) -
ファイルをロックします。
ファイルをロックします。
ロックを取得するまでブロックされます。
ロックの取得に成功した場合は 0 を返します。
File::LOCK_NB (ノンブロッキング) を指定すると、本来ならブロックされる場合に
ブロックされずに false を返すようになります。
@param operation ロックに対する操作の種類を示す定数を指定します。
どのような定数が利用可能かは以下を参照して下さい。
@raise IOError 自身が close されている場合に発生します。
@raise Errno::EXXX operation に不正な整数を与えた... -
IO
# closed? -> bool (18643.0) -
self が完全に(読み込み用と書き込み用の両方が)クローズされている場合に true を返します。 そうでない場合は false を返します。
self が完全に(読み込み用と書き込み用の両方が)クローズされている場合に true を返します。
そうでない場合は false を返します。
//emlist[例][ruby]{
IO.write("testfile", "test")
f = File.new("testfile")
f.close # => nil
f.closed? # => true
f = IO.popen("/bin/sh","r+")
f.close_write # => nil
f.closed? # => false
f.close_read # =>... -
IO
# flush -> self (18643.0) -
IO ポートの内部バッファをフラッシュします。
IO ポートの内部バッファをフラッシュします。
このメソッドを使ったとき、即座にメタデータを更新することは保証されません(特にWindowsで)。
即座にメタデータも更新したいときは IO#fsync を使います。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
@raise Errno::EXXX fflush(3) が失敗した場合に発生します。
//emlist[例][ruby]{
require "tempfile"
Tempfile.open("testtmpfile") do |f|
f.print "test"
File.r... -
File
. link(old , new) -> 0 (18625.0) -
old を指す new という名前のハードリンクを 生成します。old はすでに存在している必要があります。 ハードリンクに成功した場合は 0 を返します。
old を指す new という名前のハードリンクを
生成します。old はすでに存在している必要があります。
ハードリンクに成功した場合は 0 を返します。
失敗した場合は例外 Errno::EXXX が発生します。
@param old ファイル名を表す文字列を指定します。
@param new ファイル名を表す文字列を指定します。
@raise Errno::EXXX 失敗した場合に発生します。
//emlist[例][ruby]{
IO.write("testfile", "test")
File.link("testfile", "testlink") # => 0... -
IO
# clone -> IO (18625.0) -
レシーバと同じ IO を参照する新しい IO オブジェクトを返します。 参照しているファイル記述子は dup(2) されます。
レシーバと同じ IO を参照する新しい IO オブジェクトを返します。
参照しているファイル記述子は dup(2) されます。
clone の際に self は一旦 IO#flush されます。
フリーズした IO の clone は同様にフリーズされた IO を返しますが、
dup は内容の等しいフリーズされていない IO を返します。
@raise IOError 既に close されていた場合に発生します。
//emlist[例][ruby]{
clone_io = nil
IO.write("testfile", "test")
File.open("testfile") ... -
IO
# close _ write -> nil (18625.0) -
書き込み用の IO を close します。
書き込み用の IO を close します。
既に close されていた場合には単に無視されます。
@raise IOError 自身が書き込み用にオープンされていなければ発生します。
@raise Errno::EXXX close に失敗した場合に発生します。
//emlist[例][ruby]{
f = IO.popen("/bin/sh","r+") do |f|
f.close_write
# f.print "nowhere" # => IOError: not opened for writing
end
//}
@see IO#close, IO#clos... -
Method
# >>(callable) -> Proc (18625.0) -
self と引数を合成した Proc を返します。
self と引数を合成した Proc を返します。
戻り値の Proc は可変長の引数を受け取ります。
戻り値の Proc を呼び出すと、まず受け取った引数を self に渡して呼び出し、
その戻り値を callable に渡して呼び出した結果を返します。
Method#<< とは呼び出しの順序が逆になります。
@param callable Proc、Method、もしくは任意の call メソッドを持ったオブジェクト。
//emlist[例][ruby]{
def f(x)
x * x
end
def g(x)
x + x
end
# (3 * 3) + (3 * 3... -
Proc
# >>(callable) -> Proc (18625.0) -
self と引数を合成した Proc を返します。
self と引数を合成した Proc を返します。
戻り値の Proc は可変長の引数を受け取ります。
戻り値の Proc を呼び出すと、まず受け取った引数を self に渡して呼び出し、
その戻り値を callable に渡して呼び出した結果を返します。
Proc#<< とは呼び出しの順序が逆になります。
@param callable Proc、Method、もしくは任意の call メソッドを持ったオブジェクト。
//emlist[例][ruby]{
f = proc { |x| x * x }
g = proc { |x| x + x }
# (3 * 3) + (3 * ... -
ARGF
. class # to _ a(limit) -> Array (18607.0) -
ARGFの各行を配列に読み込んで返します。rsがnilの場合は要素に各ファイルを すべて読み込んだ配列を返します。
ARGFの各行を配列に読み込んで返します。rsがnilの場合は要素に各ファイルを
すべて読み込んだ配列を返します。
@param rs 行区切り文字
@param limit 最大の読み込みバイト数
lines = ARGF.readlines
lines[0] # => "This is line one\n"
@see $/, Kernel.#readlines, IO#readlines -
ARGF
. class # to _ a(rs , limit) -> Array (18607.0) -
ARGFの各行を配列に読み込んで返します。rsがnilの場合は要素に各ファイルを すべて読み込んだ配列を返します。
ARGFの各行を配列に読み込んで返します。rsがnilの場合は要素に各ファイルを
すべて読み込んだ配列を返します。
@param rs 行区切り文字
@param limit 最大の読み込みバイト数
lines = ARGF.readlines
lines[0] # => "This is line one\n"
@see $/, Kernel.#readlines, IO#readlines -
Thread
# kill -> self (18607.0) -
スレッドの実行を終了させます。終了時に ensure 節が実行されます。
スレッドの実行を終了させます。終了時に ensure 節が実行されます。
ただし、スレッドは終了処理中(aborting)にはなりますが、
直ちに終了するとは限りません。すでに終了している場合は何もしません。このメソッドにより
終了したスレッドの Thread#value の返り値は不定です。
自身がメインスレッドであるか最後のスレッドである場合は、プロセスを Kernel.#exit(0)
により終了します。
Kernel.#exit と違い例外 SystemExit を発生しません。
th1 = Thread.new do
begin
sleep 10
... -
Thread
:: ConditionVariable # broadcast -> self (18607.0) -
状態変数を待っているスレッドをすべて再開します。再開された スレッドは Thread::ConditionVariable#wait で指定した mutex のロックを試みます。
状態変数を待っているスレッドをすべて再開します。再開された
スレッドは Thread::ConditionVariable#wait
で指定した mutex のロックを試みます。
@return 常に self を返します。
//emlist[例][ruby]{
mutex = Mutex.new
cv = ConditionVariable.new
flg = true
3.times {
Thread.start {
mutex.synchronize {
puts "a1"
while (flg)
cv.wait(mutex)
... -
Thread
:: ConditionVariable # wait(mutex , timeout = nil) -> self (18607.0) -
mutex のロックを解放し、カレントスレッドを停止します。 Thread::ConditionVariable#signalまたは、 Thread::ConditionVariable#broadcastで送られたシグナルを 受け取ると、mutexのロックを取得し、実行状態となります。
mutex のロックを解放し、カレントスレッドを停止します。
Thread::ConditionVariable#signalまたは、
Thread::ConditionVariable#broadcastで送られたシグナルを
受け取ると、mutexのロックを取得し、実行状態となります。
@param mutex Mutex オブジェクトを指定します。
@param timeout スリープする秒数を指定します。この場合はシグナルを受け取
らなかった場合でも指定した秒数が経過するとスリープを終了
します。省略するとスリープし続け...