クラス
- Array (2)
- Class (2)
- Dir (10)
-
Enumerator
:: Lazy (1) - Fiber (2)
- File (4)
- IO (23)
- Module (2)
- Proc (2)
- Range (1)
- Regexp (2)
-
RubyVM
:: InstructionSequence (3) - Struct (4)
- Symbol (1)
- SystemCallError (1)
- Thread (8)
- TracePoint (1)
キーワード
- === (1)
- [] (2)
-
all
_ symbols (1) - chdir (4)
- constants (1)
- delete (1)
- disasm (1)
- disassemble (1)
- each (2)
-
each
_ key (2) -
each
_ pair (2) - fork (1)
-
handle
_ interrupt (1) - kill (1)
-
last
_ match (2) - list (1)
- nesting (1)
- new (14)
- of (1)
- open (4)
- pass (1)
- path (1)
-
pending
_ interrupt? (1) - pipe (8)
- popen (14)
- rename (1)
- select (1)
- start (1)
-
try
_ convert (1) - unlink (1)
- using (1)
- yield (1)
検索結果
先頭5件
-
Thread
. pending _ interrupt?(error = nil) -> bool (18382.0) -
非同期割り込みのキューが空かどうかを返します。
非同期割り込みのキューが空かどうかを返します。
Thread.handle_interrupt は非同期割り込みの発生を延期させるのに使
用しますが、本メソッドは任意の非同期割り込みが存在するかどうかを確認す
るのに使用します。
本メソッドが true を返した場合、Thread.handle_interrupt で例外の
発生を延期するブロックを終了すると延期させられていた例外を発生させるこ
とができます。
@param error 対象の例外クラスを指定します。省略した場合は全ての例外を対
象に確認を行います。
例: 延期させられていた例外をただちに発生... -
Range
. new(first , last , exclude _ end = false) -> Range (439.0) -
first から last までの範囲オブジェクトを生成して返しま す。
first から last までの範囲オブジェクトを生成して返しま
す。
exclude_end が真ならば終端を含まない範囲オブジェクトを生
成します。exclude_end 省略時には終端を含みます。
@param first 最初のオブジェクト
@param last 最後のオブジェクト
@param exclude_end 真をセットした場合終端を含まない範囲オブジェクトを生成します
@raise ArgumentError first <=> last が nil の場合に発生します
//emlist[例: 整数の範囲オブジェクトの場合][ruby]{
Range.new(... -
Enumerator
:: Lazy . new(obj , size=nil) {|yielder , *values| . . . } -> Enumerator :: Lazy (100.0) -
Lazy Enumerator を作成します。Enumerator::Lazy#force メソッドなどに よって列挙が実行されたとき、objのeachメソッドが実行され、値が一つずつ ブロックに渡されます。ブロックは、yielder を使って最終的に yield される値を 指定できます。
Lazy Enumerator を作成します。Enumerator::Lazy#force メソッドなどに
よって列挙が実行されたとき、objのeachメソッドが実行され、値が一つずつ
ブロックに渡されます。ブロックは、yielder を使って最終的に yield される値を
指定できます。
//emlist[Enumerable#filter_map と、その遅延評価版を定義する例][ruby]{
module Enumerable
def filter_map(&block)
map(&block).compact
end
end
class Enumerator::... -
TracePoint
. new(*events) {|obj| . . . } -> TracePoint (100.0) -
新しい TracePoint オブジェクトを作成して返します。トレースを有効 にするには TracePoint#enable を実行してください。
新しい TracePoint オブジェクトを作成して返します。トレースを有効
にするには TracePoint#enable を実行してください。
//emlist[例:irb で実行した場合][ruby]{
trace = TracePoint.new(:call) do |tp|
p [tp.lineno, tp.defined_class, tp.method_id, tp.event]
end
# => #<TracePoint:0x007f17372cdb20>
trace.enable
# => false
puts "Hello, TracePoint!"
# .... -
Dir
. new(path) -> Dir (64.0) -
path に対するディレクトリストリームをオープンして返します。
path に対するディレクトリストリームをオープンして返します。
ブロックを指定して呼び出した場合は、ディレクトリストリームを
引数としてブロックを実行します。ブロックの実行が終了すると、
ディレクトリは自動的にクローズされます。
ブロックの実行結果を返します。
@param path ディレクトリのパスを文字列で指定します。
@param encoding ディレクトリのエンコーディングを文字列か
Encoding オブジェクトで指定します。省略した場合は
ファイルシステムのエンコーディングと同じになります。
@rai... -
Dir
. new(path , encoding: Encoding . find("filesystem")) -> Dir (64.0) -
path に対するディレクトリストリームをオープンして返します。
path に対するディレクトリストリームをオープンして返します。
ブロックを指定して呼び出した場合は、ディレクトリストリームを
引数としてブロックを実行します。ブロックの実行が終了すると、
ディレクトリは自動的にクローズされます。
ブロックの実行結果を返します。
@param path ディレクトリのパスを文字列で指定します。
@param encoding ディレクトリのエンコーディングを文字列か
Encoding オブジェクトで指定します。省略した場合は
ファイルシステムのエンコーディングと同じになります。
@rai... -
Dir
. open(path) -> Dir (64.0) -
path に対するディレクトリストリームをオープンして返します。
path に対するディレクトリストリームをオープンして返します。
ブロックを指定して呼び出した場合は、ディレクトリストリームを
引数としてブロックを実行します。ブロックの実行が終了すると、
ディレクトリは自動的にクローズされます。
ブロックの実行結果を返します。
@param path ディレクトリのパスを文字列で指定します。
@param encoding ディレクトリのエンコーディングを文字列か
Encoding オブジェクトで指定します。省略した場合は
ファイルシステムのエンコーディングと同じになります。
@rai... -
Dir
. open(path) {|dir| . . . } -> object (64.0) -
path に対するディレクトリストリームをオープンして返します。
path に対するディレクトリストリームをオープンして返します。
ブロックを指定して呼び出した場合は、ディレクトリストリームを
引数としてブロックを実行します。ブロックの実行が終了すると、
ディレクトリは自動的にクローズされます。
ブロックの実行結果を返します。
@param path ディレクトリのパスを文字列で指定します。
@param encoding ディレクトリのエンコーディングを文字列か
Encoding オブジェクトで指定します。省略した場合は
ファイルシステムのエンコーディングと同じになります。
@rai... -
Dir
. open(path , encoding: Encoding . find("filesystem")) -> Dir (64.0) -
path に対するディレクトリストリームをオープンして返します。
path に対するディレクトリストリームをオープンして返します。
ブロックを指定して呼び出した場合は、ディレクトリストリームを
引数としてブロックを実行します。ブロックの実行が終了すると、
ディレクトリは自動的にクローズされます。
ブロックの実行結果を返します。
@param path ディレクトリのパスを文字列で指定します。
@param encoding ディレクトリのエンコーディングを文字列か
Encoding オブジェクトで指定します。省略した場合は
ファイルシステムのエンコーディングと同じになります。
@rai... -
Dir
. open(path , encoding: Encoding . find("filesystem")) {|dir| . . . } -> object (64.0) -
path に対するディレクトリストリームをオープンして返します。
path に対するディレクトリストリームをオープンして返します。
ブロックを指定して呼び出した場合は、ディレクトリストリームを
引数としてブロックを実行します。ブロックの実行が終了すると、
ディレクトリは自動的にクローズされます。
ブロックの実行結果を返します。
@param path ディレクトリのパスを文字列で指定します。
@param encoding ディレクトリのエンコーディングを文字列か
Encoding オブジェクトで指定します。省略した場合は
ファイルシステムのエンコーディングと同じになります。
@rai... -
File
. path(filename) -> String (64.0) -
指定されたファイル名を文字列で返します。filename が文字列でない場合は、to_path メソッドを呼びます。
指定されたファイル名を文字列で返します。filename が文字列でない場合は、to_path メソッドを呼びます。
@param filename ファイル名を表す文字列か to_path メソッドが定義されたオブジェクトを指定します。
//emlist[例][ruby]{
require 'pathname'
class MyPath
def initialize(path)
@path = path
end
def to_path
File.absolute_path(@path)
end
end
File.path("/dev/null") ... -
IO
. select(reads , writes = [] , excepts = [] , timeout = nil) -> [[IO]] | nil (64.0) -
select(2) を実行します。
select(2) を実行します。
与えられた入力/出力/例外待ちの IO オブジェクトの中から準備ができたものを
それぞれ配列にして、配列の配列として返します。
タイムアウトした時には nil を返します。
@param reads 入力待ちする IO オブジェクトの配列を渡します。
@param writes 出力待ちする IO オブジェクトの配列を渡します。
@param excepts 例外待ちする IO オブジェクトの配列を渡します。
@param timeout タイムアウトまでの時間を表す数値または nil を指定します。数値で指定したときの単位は秒です。nil を... -
Module
. nesting -> [Class , Module] (64.0) -
このメソッドを呼び出した時点でのクラス/モジュールのネスト情 報を配列に入れて返します。
このメソッドを呼び出した時点でのクラス/モジュールのネスト情
報を配列に入れて返します。
//emlist[例][ruby]{
module Foo
module Bar
module Baz
p Module.nesting # => [Foo::Bar::Baz, Foo::Bar, Foo]
end
end
end
//} -
Proc
. new -> Proc (64.0) -
ブロックをコンテキストとともにオブジェクト化して返します。
ブロックをコンテキストとともにオブジェクト化して返します。
ブロックを指定しない場合、Ruby 2.7 では
$VERBOSE = true のときには警告メッセージ
「warning: Capturing the given block using Proc.new is deprecated; use `&block` instead」
が出力され、Ruby 3.0 では
ArgumentError (tried to create Proc object without a block)
が発生します。
ブロックを指定しなければ、このメソッドを呼び出したメソッドが
ブロックを伴うと... -
Proc
. new { . . . } -> Proc (64.0) -
ブロックをコンテキストとともにオブジェクト化して返します。
ブロックをコンテキストとともにオブジェクト化して返します。
ブロックを指定しない場合、Ruby 2.7 では
$VERBOSE = true のときには警告メッセージ
「warning: Capturing the given block using Proc.new is deprecated; use `&block` instead」
が出力され、Ruby 3.0 では
ArgumentError (tried to create Proc object without a block)
が発生します。
ブロックを指定しなければ、このメソッドを呼び出したメソッドが
ブロックを伴うと... -
main
. using(module) -> self (64.0) -
引数で指定したモジュールで定義された拡張を有効にします。
引数で指定したモジュールで定義された拡張を有効にします。
有効にした拡張の有効範囲については以下を参照してください。
* https://docs.ruby-lang.org/en/master/syntax/refinements_rdoc.html#label-Scope
@param module 有効にするモジュールを指定します。
//emlist[例][ruby]{
module Sloth
refine String do
def downcase
self
end
end
end
"ABC".downcase # => "abc"... -
Class
. new(superclass = Object) -> Class (46.0) -
新しく名前の付いていない superclass のサブクラスを生成します。
新しく名前の付いていない superclass のサブクラスを生成します。
名前のないクラスは、最初に名前を求める際に代入されている定数名を検
索し、見つかった定数名をクラス名とします。
//emlist[例][ruby]{
p foo = Class.new # => #<Class:0x401b90f8>
p foo.name # => nil
Foo = foo # ここで p foo すれば "Foo" 固定
Bar = foo
p foo.name # => "Bar" ("Foo" になるか "Bar" になるかは... -
Class
. new(superclass = Object) {|klass| . . . } -> Class (46.0) -
新しく名前の付いていない superclass のサブクラスを生成します。
新しく名前の付いていない superclass のサブクラスを生成します。
名前のないクラスは、最初に名前を求める際に代入されている定数名を検
索し、見つかった定数名をクラス名とします。
//emlist[例][ruby]{
p foo = Class.new # => #<Class:0x401b90f8>
p foo.name # => nil
Foo = foo # ここで p foo すれば "Foo" 固定
Bar = foo
p foo.name # => "Bar" ("Foo" になるか "Bar" になるかは... -
IO
. popen("-" , mode = "r" , opt={}) -> IO (46.0) -
第一引数に文字列 "-" が指定された時、fork(2) を 行い子プロセスの標準入出力との間にパイプラインを確立します。 親プロセスでは IO オブジェクトを返し、子プロセスでは nil を返します。
第一引数に文字列 "-" が指定された時、fork(2) を
行い子プロセスの標準入出力との間にパイプラインを確立します。
親プロセスでは IO オブジェクトを返し、子プロセスでは
nil を返します。
io = IO.popen("-", "r+")
if io # parent
io.puts "foo"
p io.gets # => "child output: foo\n"
io.close
else # child
s = gets
print "child output: " + s
... -
IO
. popen("-" , mode = "r" , opt={}) {|io| . . . } -> object (46.0) -
第一引数に文字列 "-" が指定された時、fork(2) を 行い子プロセスの標準入出力との間にパイプラインを確立します。 親プロセスでは IO オブジェクトを返し、子プロセスでは nil を返します。
第一引数に文字列 "-" が指定された時、fork(2) を
行い子プロセスの標準入出力との間にパイプラインを確立します。
親プロセスでは IO オブジェクトを返し、子プロセスでは
nil を返します。
io = IO.popen("-", "r+")
if io # parent
io.puts "foo"
p io.gets # => "child output: foo\n"
io.close
else # child
s = gets
print "child output: " + s
... -
IO
. popen(env , "-" , mode = "r" , opt={}) -> IO (46.0) -
第一引数に文字列 "-" が指定された時、fork(2) を 行い子プロセスの標準入出力との間にパイプラインを確立します。 親プロセスでは IO オブジェクトを返し、子プロセスでは nil を返します。
第一引数に文字列 "-" が指定された時、fork(2) を
行い子プロセスの標準入出力との間にパイプラインを確立します。
親プロセスでは IO オブジェクトを返し、子プロセスでは
nil を返します。
io = IO.popen("-", "r+")
if io # parent
io.puts "foo"
p io.gets # => "child output: foo\n"
io.close
else # child
s = gets
print "child output: " + s
... -
IO
. popen(env , "-" , mode = "r" , opt={}) {|io| . . . } -> object (46.0) -
第一引数に文字列 "-" が指定された時、fork(2) を 行い子プロセスの標準入出力との間にパイプラインを確立します。 親プロセスでは IO オブジェクトを返し、子プロセスでは nil を返します。
第一引数に文字列 "-" が指定された時、fork(2) を
行い子プロセスの標準入出力との間にパイプラインを確立します。
親プロセスでは IO オブジェクトを返し、子プロセスでは
nil を返します。
io = IO.popen("-", "r+")
if io # parent
io.puts "foo"
p io.gets # => "child output: foo\n"
io.close
else # child
s = gets
print "child output: " + s
... -
RubyVM
:: InstructionSequence . of(body) -> RubyVM :: InstructionSequence (46.0) -
引数 body で指定した Proc、Method オブジェクトを元に RubyVM::InstructionSequence オブジェクトを作成して返します。
引数 body で指定した Proc、Method オブジェクトを元に
RubyVM::InstructionSequence オブジェクトを作成して返します。
@param body Proc、Method オブジェクトを指定します。
例1:irb で実行した場合
# proc
> p = proc { num = 1 + 2 }
> RubyVM::InstructionSequence.of(p)
> # => <RubyVM::InstructionSequence:block in irb_binding@(irb)>
# method
> def ... -
Struct
. new(*args) -> Class (46.0) -
Struct クラスに新しいサブクラスを作って、それを返します。
Struct クラスに新しいサブクラスを作って、それを返します。
サブクラスでは構造体のメンバに対するアクセスメソッドが定義されています。
//emlist[例][ruby]{
dog = Struct.new("Dog", :name, :age)
fred = dog.new("fred", 5)
fred.age = 6
printf "name:%s age:%d", fred.name, fred.age
#=> "name:fred age:6" を出力します
//}
実装の都合により、クラス名の省略は後づけの機能でした。
メンバ名に String を指定できるのは後方互換... -
Struct
. new(*args) {|subclass| block } -> Class (46.0) -
Struct クラスに新しいサブクラスを作って、それを返します。
Struct クラスに新しいサブクラスを作って、それを返します。
サブクラスでは構造体のメンバに対するアクセスメソッドが定義されています。
//emlist[例][ruby]{
dog = Struct.new("Dog", :name, :age)
fred = dog.new("fred", 5)
fred.age = 6
printf "name:%s age:%d", fred.name, fred.age
#=> "name:fred age:6" を出力します
//}
実装の都合により、クラス名の省略は後づけの機能でした。
メンバ名に String を指定できるのは後方互換... -
Thread
. fork(*arg) {|*arg| . . . } -> Thread (46.0) -
スレッドを生成して、ブロックの評価を開始します。 生成したスレッドを返します。
スレッドを生成して、ブロックの評価を開始します。
生成したスレッドを返します。
基本的に Thread.new と同じですが、
new メソッドと違い initialize メソッドを呼びません。
@param arg 引数 arg はそのままブロックに渡されます。スレッドの開始と同時にその
スレッド固有のローカル変数に値を渡すために使用します。
@raise ThreadError 現在のスレッドが属する ThreadGroup が freeze されている場合に発生します。またブロックを与えられずに呼ばれた場合にも発生します。
注意:
例えば、以下のコー... -
Thread
. handle _ interrupt(hash) { . . . } -> object (46.0) -
スレッドの割り込みのタイミングを引数で指定した内容に変更してブロックを 実行します。
スレッドの割り込みのタイミングを引数で指定した内容に変更してブロックを
実行します。
「割り込み」とは、非同期イベントや Thread#raise や
Thread#kill、Signal.#trap(未サポート)、メインスレッドの終了
(メインスレッドが終了すると、他のスレッドも終了されます)を意味します。
@param hash 例外クラスがキー、割り込みのタイミングを指定する
Symbol が値の Hash を指定します。
値の内容は以下のいずれかです。
: :immediate
すぐに割り込みます。
: :on_block... -
Thread
. new(*arg) {|*arg| . . . } -> Thread (46.0) -
スレッドを生成して、ブロックの評価を開始します。 生成したスレッドを返します。
スレッドを生成して、ブロックの評価を開始します。
生成したスレッドを返します。
@param arg 引数 arg はそのままブロックに渡されます。スレッドの開始と同時にその
スレッド固有のローカル変数に値を渡すために使用します。
@raise ThreadError 現在のスレッドが属する ThreadGroup が freeze されている場合に発生します。またブロックを与えられずに呼ばれた場合にも発生します。
注意:
例えば、以下のコードは間違いです。スレッドの実行が開始される前に
変数 i が書き変わる可能性があるからです。
for i in 1.... -
Thread
. pass -> nil (46.0) -
他のスレッドに実行権を譲ります。実行中のスレッドの状態を変えずに、 他の実行可能状態のスレッドに制御を移します。
他のスレッドに実行権を譲ります。実行中のスレッドの状態を変えずに、
他の実行可能状態のスレッドに制御を移します。
Thread.new do
(1..3).each{|i|
p i
Thread.pass
}
exit
end
loop do
Thread.pass
p :main
end
#=>
1
:main
2
:main
3
:main -
Thread
. start(*arg) {|*arg| . . . } -> Thread (46.0) -
スレッドを生成して、ブロックの評価を開始します。 生成したスレッドを返します。
スレッドを生成して、ブロックの評価を開始します。
生成したスレッドを返します。
基本的に Thread.new と同じですが、
new メソッドと違い initialize メソッドを呼びません。
@param arg 引数 arg はそのままブロックに渡されます。スレッドの開始と同時にその
スレッド固有のローカル変数に値を渡すために使用します。
@raise ThreadError 現在のスレッドが属する ThreadGroup が freeze されている場合に発生します。またブロックを与えられずに呼ばれた場合にも発生します。
注意:
例えば、以下のコー... -
Array
. [](*item) -> Array (28.0) -
引数 item を要素として持つ配列を生成して返します。
引数 item を要素として持つ配列を生成して返します。
Array のサブクラスを作成したしたときに、そのサブクラスのインスタンスを作成
しやすくするために用意されている。
@param item 配列の要素を指定します。
//emlist[例][ruby]{
Array[1, 2, 3] #=> [1, 2, 3]
class SubArray < Array
# ...
end
p SubArray[1, 2, 3] # => [1, 2, 3]
//} -
Array
. try _ convert(obj) -> Array | nil (28.0) -
to_ary メソッドを用いて obj を配列に変換しようとします。
to_ary メソッドを用いて obj を配列に変換しようとします。
何らかの理由で変換できないときには nil を返します。
このメソッドは引数が配列であるかどうかを調べるために使えます。
//emlist[例][ruby]{
Array.try_convert([1]) # => [1]
Array.try_convert("1") # => nil
if tmp = Array.try_convert(arg)
# the argument is an array
elsif tmp = String.try_convert(arg)
# the argument ... -
Dir
. chdir -> 0 (28.0) -
カレントディレクトリを path に変更します。
カレントディレクトリを path に変更します。
path を省略した場合、環境変数 HOME または LOGDIR
が設定されていればそのディレクトリに移動します。
カレントディレクトリの変更に成功すれば 0 を返します。
ブロックが指定された場合、カレントディレクトリの変更はブロックの実行中に限
られます。ブロックの実行結果を返します。
@param path ディレクトリのパスを文字列で指定します。
@raise Errno::EXXX 失敗した場合に発生します。
//emlist[例][ruby]{
Dir.chdir("/var/spool/mail")
p Dir.pw... -
Dir
. chdir {|path| . . . } -> object (28.0) -
カレントディレクトリを path に変更します。
カレントディレクトリを path に変更します。
path を省略した場合、環境変数 HOME または LOGDIR
が設定されていればそのディレクトリに移動します。
カレントディレクトリの変更に成功すれば 0 を返します。
ブロックが指定された場合、カレントディレクトリの変更はブロックの実行中に限
られます。ブロックの実行結果を返します。
@param path ディレクトリのパスを文字列で指定します。
@raise Errno::EXXX 失敗した場合に発生します。
//emlist[例][ruby]{
Dir.chdir("/var/spool/mail")
p Dir.pw... -
Dir
. chdir(path) -> 0 (28.0) -
カレントディレクトリを path に変更します。
カレントディレクトリを path に変更します。
path を省略した場合、環境変数 HOME または LOGDIR
が設定されていればそのディレクトリに移動します。
カレントディレクトリの変更に成功すれば 0 を返します。
ブロックが指定された場合、カレントディレクトリの変更はブロックの実行中に限
られます。ブロックの実行結果を返します。
@param path ディレクトリのパスを文字列で指定します。
@raise Errno::EXXX 失敗した場合に発生します。
//emlist[例][ruby]{
Dir.chdir("/var/spool/mail")
p Dir.pw... -
Dir
. chdir(path) {|path| . . . } -> object (28.0) -
カレントディレクトリを path に変更します。
カレントディレクトリを path に変更します。
path を省略した場合、環境変数 HOME または LOGDIR
が設定されていればそのディレクトリに移動します。
カレントディレクトリの変更に成功すれば 0 を返します。
ブロックが指定された場合、カレントディレクトリの変更はブロックの実行中に限
られます。ブロックの実行結果を返します。
@param path ディレクトリのパスを文字列で指定します。
@raise Errno::EXXX 失敗した場合に発生します。
//emlist[例][ruby]{
Dir.chdir("/var/spool/mail")
p Dir.pw... -
ENV
. each -> Enumerator (28.0) -
key と value を引数としてブロックを評価します。
key と value を引数としてブロックを評価します。
//emlist[][ruby]{
ENV['FOO'] = 'bar'
ENV.each do |key, value|
p "value is #{value}" if key == 'FOO' # => "value is bar"
end
# => ENV
//} -
ENV
. each {|key , value| . . . } -> self (28.0) -
key と value を引数としてブロックを評価します。
key と value を引数としてブロックを評価します。
//emlist[][ruby]{
ENV['FOO'] = 'bar'
ENV.each do |key, value|
p "value is #{value}" if key == 'FOO' # => "value is bar"
end
# => ENV
//} -
ENV
. each _ key -> Enumerator (28.0) -
key を引数としてブロックを評価します。
key を引数としてブロックを評価します。
//emlist[][ruby]{
ENV['FOO'] = 'bar'
ENV.each_key do |key|
p "key #{key} detected" if key == 'FOO'
end
# "key FOO detected"
//} -
ENV
. each _ key {|key| . . . } -> self (28.0) -
key を引数としてブロックを評価します。
key を引数としてブロックを評価します。
//emlist[][ruby]{
ENV['FOO'] = 'bar'
ENV.each_key do |key|
p "key #{key} detected" if key == 'FOO'
end
# "key FOO detected"
//} -
ENV
. each _ pair -> Enumerator (28.0) -
key と value を引数としてブロックを評価します。
key と value を引数としてブロックを評価します。
//emlist[][ruby]{
ENV['FOO'] = 'bar'
ENV.each do |key, value|
p "value is #{value}" if key == 'FOO' # => "value is bar"
end
# => ENV
//} -
ENV
. each _ pair {|key , value| . . . } -> self (28.0) -
key と value を引数としてブロックを評価します。
key と value を引数としてブロックを評価します。
//emlist[][ruby]{
ENV['FOO'] = 'bar'
ENV.each do |key, value|
p "value is #{value}" if key == 'FOO' # => "value is bar"
end
# => ENV
//} -
Fiber
. new {|obj| . . . } -> Fiber (28.0) -
与えられたブロックとともにファイバーを生成して返します。 ブロックは Fiber#resume に与えられた引数をその引数として実行されます。
与えられたブロックとともにファイバーを生成して返します。
ブロックは Fiber#resume に与えられた引数をその引数として実行されます。
ブロックが終了した場合は親にコンテキストが切り替わります。
その時ブロックの評価値が返されます。
//emlist[例:][ruby]{
a = nil
f = Fiber.new do |obj|
a = obj
:hoge
end
b = f.resume(:foo)
p a #=> :foo
p b #=> :hoge
//} -
Fiber
. yield(*arg = nil) -> object (28.0) -
現在のファイバーの親にコンテキストを切り替えます。
現在のファイバーの親にコンテキストを切り替えます。
コンテキストの切り替えの際に Fiber#resume に与えられた引数を yield メソッドは返します。
@param arg 現在のファイバーの親に渡したいオブジェクトを指定します。
@raise FiberError Fiber でのルートファイバーで呼ばれた場合に発生します。
//emlist[例:][ruby]{
a = nil
f = Fiber.new do
a = Fiber.yield()
end
f.resume()
f.resume(:foo)
p a #=> :foo
//} -
File
. delete(*filename) -> Integer (28.0) -
ファイルを削除します。削除したファイルの数を返します。 削除に失敗した場合は例外 Errno::EXXX が発生します。
ファイルを削除します。削除したファイルの数を返します。
削除に失敗した場合は例外 Errno::EXXX が発生します。
このメソッドは通常ファイルの削除用で、ディレクトリの削除には
Dir.rmdir を使います。
@param filename ファイル名を表す文字列を指定します。
@raise Errno::EXXX 失敗した場合に発生します。
//emlist[例][ruby]{
IO.write("test.txt", "test")
p File.exist?("test.txt") # => true
p File.delete("test.txt") # => ... -
File
. rename(from , to) -> 0 (28.0) -
ファイルの名前を変更します。ディレクトリが異なる場合には移動も行い ます。rename(2) を参照してください。移動先のファ イルが存在する時には上書きされます。
ファイルの名前を変更します。ディレクトリが異なる場合には移動も行い
ます。rename(2) を参照してください。移動先のファ
イルが存在する時には上書きされます。
ファイルの移動に成功した場合 0 を返します。失敗した場合は例外
Errno::EXXX が発生します。
@param from ファイルの名前を文字列で与えます。
@param to 新しいファイル名を文字列で与えます。
@raise Errno::EXXX 失敗した場合に発生します。
//emlist[例][ruby]{
begin
File.rename("testfile", "testfile.bak")... -
File
. unlink(*filename) -> Integer (28.0) -
ファイルを削除します。削除したファイルの数を返します。 削除に失敗した場合は例外 Errno::EXXX が発生します。
ファイルを削除します。削除したファイルの数を返します。
削除に失敗した場合は例外 Errno::EXXX が発生します。
このメソッドは通常ファイルの削除用で、ディレクトリの削除には
Dir.rmdir を使います。
@param filename ファイル名を表す文字列を指定します。
@raise Errno::EXXX 失敗した場合に発生します。
//emlist[例][ruby]{
IO.write("test.txt", "test")
p File.exist?("test.txt") # => true
p File.delete("test.txt") # => ... -
IO
. pipe -> [IO] (28.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
pipe(2) を実行して、相互につながった2つの
IO オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、
ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定することが
できます。
@param enc_str 読み込み側の外部エンコ... -
IO
. pipe {|read _ io , write _ io| . . . } -> object (28.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
pipe(2) を実行して、相互につながった2つの
IO オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、
ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定することが
できます。
@param enc_str 読み込み側の外部エンコ... -
IO
. pipe(enc _ str , **opts) -> [IO] (28.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
pipe(2) を実行して、相互につながった2つの
IO オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、
ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定することが
できます。
@param enc_str 読み込み側の外部エンコ... -
IO
. pipe(enc _ str , **opts) {|read _ io , write _ io| . . . } -> object (28.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
pipe(2) を実行して、相互につながった2つの
IO オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、
ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定することが
できます。
@param enc_str 読み込み側の外部エンコ... -
IO
. pipe(ext _ enc) -> [IO] (28.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
pipe(2) を実行して、相互につながった2つの
IO オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、
ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定することが
できます。
@param enc_str 読み込み側の外部エンコ... -
IO
. pipe(ext _ enc) {|read _ io , write _ io| . . . } -> object (28.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
pipe(2) を実行して、相互につながった2つの
IO オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、
ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定することが
できます。
@param enc_str 読み込み側の外部エンコ... -
IO
. pipe(ext _ enc , int _ enc , **opts) -> [IO] (28.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
pipe(2) を実行して、相互につながった2つの
IO オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、
ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定することが
できます。
@param enc_str 読み込み側の外部エンコ... -
IO
. pipe(ext _ enc , int _ enc , **opts) {|read _ io , write _ io| . . . } -> object (28.0) -
pipe(2) を実行して、相互につながった2つの IO オブジェクトを要素とする配列を返します。
pipe(2) を実行して、相互につながった2つの
IO オブジェクトを要素とする配列を返します。
戻り値の配列は最初の要素が読み込み側で、次の要素が書き込み側です。
ブロックが渡された場合は、そのブロックに2つの IO オブジェクトが渡され、
ブロックの返り値がこのメソッドの返り値となります。
ブロック終了時に IO オブジェクトがもし close されていないならば
close します(close されていてるオブジェクトはそのままです)。
得られる2つの IO オブジェクトのエンコーディングを引数で指定することが
できます。
@param enc_str 読み込み側の外部エンコ... -
Module
. constants -> [Symbol] (28.0) -
このメソッドを呼び出した時点で参照可能な定数名の配列を返します。
このメソッドを呼び出した時点で参照可能な定数名の配列を返します。
//emlist[例][ruby]{
class C
FOO = 1
end
p Module.constants # => [:RUBY_PLATFORM, :STDIN, ..., :C, ...]
# 出力中に :FOO は現われない
//}
@see Module#constants, Kernel.#local_variables, Kernel.#global_variables, Object#instance_variables, Module#class_... -
Regexp
. last _ match(nth) -> String | nil (28.0) -
整数 nth が 0 の場合、マッチした文字列を返します ($&)。それ以外では、nth 番目の括弧にマッチ した部分文字列を返します($1,$2,...)。 対応する括弧がない場合やマッチしなかった場合には nil を返し ます。
整数 nth が 0 の場合、マッチした文字列を返します
($&)。それ以外では、nth 番目の括弧にマッチ
した部分文字列を返します($1,$2,...)。
対応する括弧がない場合やマッチしなかった場合には nil を返し
ます。
//emlist[例][ruby]{
/(.)(.)/ =~ "ab"
p Regexp.last_match # => #<MatchData:0x4599e58>
p Regexp.last_match(0) # => "ab"
p Regexp.last_match(1) # => "a"
p Regexp.last_match(2) ... -
RubyVM
:: InstructionSequence . disasm(body) -> String (28.0) -
引数 body で指定したオブジェクトから作成した RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字 列に変換して返します。
引数 body で指定したオブジェクトから作成した
RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字
列に変換して返します。
@param body Proc、Method オブジェクトを指定します。
例1:Proc オブジェクトを指定した場合
# /tmp/proc.rb
p = proc { num = 1 + 2 }
puts RubyVM::InstructionSequence.disasm(p)
出力:
== disasm: <RubyVM::InstructionSequence:block in <main... -
RubyVM
:: InstructionSequence . disassemble(body) -> String (28.0) -
引数 body で指定したオブジェクトから作成した RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字 列に変換して返します。
引数 body で指定したオブジェクトから作成した
RubyVM::InstructionSequence オブジェクトを人間が読める形式の文字
列に変換して返します。
@param body Proc、Method オブジェクトを指定します。
例1:Proc オブジェクトを指定した場合
# /tmp/proc.rb
p = proc { num = 1 + 2 }
puts RubyVM::InstructionSequence.disasm(p)
出力:
== disasm: <RubyVM::InstructionSequence:block in <main... -
Symbol
. all _ symbols -> [Symbol] (28.0) -
定義済みの全てのシンボルオブジェクトの配列を返します。
定義済みの全てのシンボルオブジェクトの配列を返します。
p Symbol.all_symbols #=> [:RUBY_PLATFORM, :RUBY_VERSION, ...]
リテラルで表記したシンボルのうち、コンパイル時に値が決まるものはその時に生成されます。
それ以外の式展開を含むリテラルや、メソッドで表記されたものは式の評価時に生成されます。
(何にも使われないシンボルは最適化により生成されないことがあります)
def number
'make_3'
end
p Symbol.all_symbols.select{|sym|sym.to_s.in... -
SystemCallError
. ===(other) -> bool (28.0) -
other が SystemCallError のサブクラスのインスタンスで、 かつ、other.errno の値が self::Errno と同じ場合に真を返します。そうでない場合は偽を返します。
other が SystemCallError のサブクラスのインスタンスで、
かつ、other.errno の値が self::Errno と同じ場合に真を返します。そうでない場合は偽を返します。
従って、特に other が self.kind_of?(other) である場合には Module#=== と同様に真を返します。
その他に、 Errno::EXXX::Errno == Errno::EYYY::Errno である場合にも Errno::EXXX == Errno::EYYY.new は真を返します。
エラー名は異なるがエラーコードは同じであるような Errno::EXX... -
Thread
. kill(thread) -> Thread (28.0) -
指定したスレッド thread に対して Thread#exit を呼びます。終了したスレッドを返します。
指定したスレッド thread に対して Thread#exit を呼びます。終了したスレッドを返します。
@param thread 終了したい Thread オブジェクトを指定します。
th = Thread.new do
end
p Thread.kill(th) #=> #<Thread:0x40221bc8 dead> -
Thread
. list -> [Thread] (28.0) -
全ての生きているスレッドを含む配列を生成して返します。aborting 状態であるスレッド も要素に含まれます。
全ての生きているスレッドを含む配列を生成して返します。aborting 状態であるスレッド
も要素に含まれます。
Thread.new do
sleep
end
sleep 0.1
p Thread.list #=> [#<Thread:0x40377a54 sleep>, #<Thread:0x4022e6fc run>] -
IO
. popen([env = {} , [cmdname , arg0] , *args , execopt={}] , mode = "r" , opt={}) -> IO (16.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
IO
. popen([env = {} , [cmdname , arg0] , *args , execopt={}] , mode = "r" , opt={}) {|f| . . . } -> object (16.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
IO
. popen([env = {} , cmdname , *args , execopt={}] , mode = "r" , opt={}) -> IO (16.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
IO
. popen([env = {} , cmdname , *args , execopt={}] , mode = "r" , opt={}) {|f| . . . } -> object (16.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
IO
. popen(env = {} , [[cmdname , arg0] , *args , execopt={}] , mode = "r" , opt={}) -> IO (16.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
IO
. popen(env = {} , [[cmdname , arg0] , *args , execopt={}] , mode = "r" , opt={}) {|f| . . . } -> object (16.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
IO
. popen(env = {} , [cmdname , *args , execopt={}] , mode = "r" , opt={}) -> IO (16.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
IO
. popen(env = {} , [cmdname , *args , execopt={}] , mode = "r" , opt={}) {|f| . . . } -> object (16.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
IO
. popen(env = {} , command , mode = "r" , opt={}) -> IO (16.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
IO
. popen(env = {} , command , mode = "r" , opt={}) {|f| . . . } -> object (16.0) -
サブプロセスを実行し、そのプロセスの標準入出力 との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
サブプロセスを実行し、そのプロセスの標準入出力
との間にパイプラインを確立します。生成したパイプを IO オブジェクトとして返します。
p io = IO.popen("cat", "r+") # => #<IO:fd 4>
io.puts "foo"
io.close_write
p io.gets # => "foo\n"
サブプロセスを指定する方法は2通りあります。文字列を指定する場合と配列を指定する場合です。
文字列の場合は、シェルを経由して子プロセスを実行し、
配列の場合は、シェルを経由せずに子プロセスを実行します。
... -
Struct
. [](*args) -> Struct (16.0) -
(このメソッドは Struct の下位クラスにのみ定義されています) 構造体オブジェクトを生成して返します。
(このメソッドは Struct の下位クラスにのみ定義されています)
構造体オブジェクトを生成して返します。
@param args 構造体の初期値を指定します。メンバの初期値は指定されなければ nil です。
@return 構造体クラスのインスタンス。
@raise ArgumentError 構造体のメンバの数よりも多くの引数を指定した場合に発生します。
//emlist[例][ruby]{
Foo = Struct.new(:foo, :bar)
foo = Foo.new(1)
p foo.values # => [1, nil]
//} -
Struct
. new(*args) -> Struct (16.0) -
(このメソッドは Struct の下位クラスにのみ定義されています) 構造体オブジェクトを生成して返します。
(このメソッドは Struct の下位クラスにのみ定義されています)
構造体オブジェクトを生成して返します。
@param args 構造体の初期値を指定します。メンバの初期値は指定されなければ nil です。
@return 構造体クラスのインスタンス。
@raise ArgumentError 構造体のメンバの数よりも多くの引数を指定した場合に発生します。
//emlist[例][ruby]{
Foo = Struct.new(:foo, :bar)
foo = Foo.new(1)
p foo.values # => [1, nil]
//} -
Regexp
. last _ match -> MatchData (13.0) -
カレントスコープで最後に行った正規表現マッチの MatchData オ ブジェクトを返します。このメソッドの呼び出しは $~ の参照と同じです。
カレントスコープで最後に行った正規表現マッチの MatchData オ
ブジェクトを返します。このメソッドの呼び出しは $~
の参照と同じです。
//emlist[例][ruby]{
/(.)(.)/ =~ "ab"
p Regexp.last_match # => #<MatchData:0x4599e58>
p Regexp.last_match[0] # => "ab"
p Regexp.last_match[1] # => "a"
p Regexp.last_match[2] # => "b"
p Regexp.last_match[3] # => nil...