種類
- 文書 (96)
- インスタンスメソッド (52)
- モジュール関数 (35)
- 特異メソッド (13)
- クラス (11)
ライブラリ
- ビルトイン (46)
-
irb
/ inspector (11) - logger (11)
-
minitest
/ spec (2) -
minitest
/ unit (18) - rake (11)
-
shell
/ command-processor (12)
クラス
-
IRB
:: Inspector (11) - Logger (11)
-
MiniTest
:: Spec (2) -
MiniTest
:: Unit (1) -
Shell
:: CommandProcessor (12)
モジュール
- Kernel (35)
-
MiniTest
:: Assertions (17) -
Rake
:: TaskManager (11)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) -
NEWS for Ruby 2
. 2 . 0 (10) -
NEWS for Ruby 2
. 7 . 0 (5) -
NEWS for Ruby 3
. 0 . 0 (4) - Ruby用語集 (11)
- [] (6)
- after (1)
- assert (1)
-
assert
_ block (1) -
assert
_ empty (1) -
assert
_ equal (1) -
assert
_ in _ delta (1) -
assert
_ in _ epsilon (1) -
assert
_ includes (1) -
assert
_ instance _ of (1) -
assert
_ kind _ of (1) -
assert
_ match (1) -
assert
_ nil (1) -
assert
_ operator (1) -
assert
_ respond _ to (1) -
assert
_ same (1) -
assert
_ send (1) -
assert
_ throws (1) - before (1)
-
create
_ rule (11) -
def
_ inspector (11) - formatter (11)
- lambda (17)
- proc (18)
-
process
_ args (1) -
ruby 1
. 6 feature (11) -
ruby 1
. 8 . 2 feature (11) -
ruby 1
. 8 . 3 feature (11) - クラス/メソッドの定義 (11)
- 手続きオブジェクトの挙動の詳細 (11)
検索結果
先頭5件
-
Proc (38246.0)
-
ブロックをコンテキスト(ローカル変数のスコープやスタックフ レーム)とともにオブジェクト化した手続きオブジェクトです。
...手続きオブジェクトです。
Proc は ローカル変数のスコープを導入しないことを除いて
名前のない関数のように使えます。ダイナミックローカル変数は
Proc ローカルの変数として使えます。
Proc がローカル変数のスコープ......[ruby]{
var = 1
$foo = Proc.new { var }
var = 2
def foo
$foo.call
end
p foo # => 2
//}
===[a:should_use_next] 手続きを中断して値を返す
手続きオブジェクトを中断して、呼出し元(呼び出しブロックでは yield、それ以外では Proc#call)
へジャン......lambda と Proc.new では挙動が異なります。
例えば return を行った場合、lambda では手続きオブジェクト自身を抜けますが、
Proc.new では手続きオブジェクトを囲むメソッドを抜けます。
//emlist[例][ruby]{
def test_proc
f = Proc.new { retur... -
Shell
:: CommandProcessor # test(command , file1 , file2 = nil) -> bool | Time | Integer | nil (18129.0) -
Kernel.#test や FileTest のメソッドに処理を委譲します。
...Kernel.#test や FileTest のメソッドに処理を委譲します。
@param command 数値、またはサイズが 1 の文字列の場合は Kernel.#test に処理委譲します。
2 文字以上の文字列の場合は FileTest のメソッドとして実行します。
@para......ell'
Shell.verbose = false
sh = Shell.new
begin
sh.mkdir("foo")
rescue
end
p sh[?e, "foo"] # => true
p sh[:e, "foo"] # => true
p sh["e", "foo"] # => true
p sh[:exists?, "foo"] # => true
p sh["exists?", "foo"] # => true
@see Kernel.#test, FileTest... -
MiniTest
:: Unit # process _ args(args = []) -> Hash (9100.0) -
optparse を使ってコマンドライン引数を解析した結果を返します。
optparse を使ってコマンドライン引数を解析した結果を返します。
@param args コマンドライン引数を指定します。
@see optparse -
Kernel
. # proc -> Proc (3502.0) -
与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。
...与えられたブロックから手続きオブジェクト (Proc のインスタンス)
を生成して返します。Proc.new に近い働きをします。
ブロックが指定されなければ、呼び出し元のメソッドで指定されたブロック
を手続きオブジェクトと......までは警告メッセージ
「warning: tried to create Proc object without a block」
が出力され、Ruby 2.7 では
ArgumentError (tried to create Proc object without a block)
が発生します。
ブロックを指定しない proc は、Ruby 2.7 では
$VERBOSE = true のときには警......lambda と Proc.new では挙動が異なります。
例えば return を行った場合、lambda では手続きオブジェクト自身を抜けますが、
Proc.new では手続きオブジェクトを囲むメソッドを抜けます。
//emlist[例][ruby]{
def test_proc
f = Proc.new { retur... -
Kernel
. # proc { . . . } -> Proc (3502.0) -
与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。
...与えられたブロックから手続きオブジェクト (Proc のインスタンス)
を生成して返します。Proc.new に近い働きをします。
ブロックが指定されなければ、呼び出し元のメソッドで指定されたブロック
を手続きオブジェクトと......までは警告メッセージ
「warning: tried to create Proc object without a block」
が出力され、Ruby 2.7 では
ArgumentError (tried to create Proc object without a block)
が発生します。
ブロックを指定しない proc は、Ruby 2.7 では
$VERBOSE = true のときには警......lambda と Proc.new では挙動が異なります。
例えば return を行った場合、lambda では手続きオブジェクト自身を抜けますが、
Proc.new では手続きオブジェクトを囲むメソッドを抜けます。
//emlist[例][ruby]{
def test_proc
f = Proc.new { retur... -
Kernel
. # proc -> Proc (3501.0) -
与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。
...与えられたブロックから手続きオブジェクト (Proc のインスタンス)
を生成して返します。Proc.new に近い働きをします。
ブロックが指定されなければ、呼び出し元のメソッドで指定されたブロック
を手続きオブジェクトと......までは警告メッセージ
「warning: tried to create Proc object without a block」
が出力され、Ruby 2.7 では
ArgumentError (tried to create Proc object without a block)
が発生します。
ブロックを指定しない proc は、Ruby 2.7 では
$VERBOSE = true のときには警......lambda と Proc.new では挙動が異なります。
例えば return を行った場合、lambda では手続きオブジェクト自身を抜けますが、
Proc.new では手続きオブジェクトを囲むメソッドを抜けます。
//emlist[例][ruby]{
def test_proc
f = Proc.new { retur... -
Kernel
. # proc { . . . } -> Proc (3501.0) -
与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。
...与えられたブロックから手続きオブジェクト (Proc のインスタンス)
を生成して返します。Proc.new に近い働きをします。
ブロックが指定されなければ、呼び出し元のメソッドで指定されたブロック
を手続きオブジェクトと......までは警告メッセージ
「warning: tried to create Proc object without a block」
が出力され、Ruby 2.7 では
ArgumentError (tried to create Proc object without a block)
が発生します。
ブロックを指定しない proc は、Ruby 2.7 では
$VERBOSE = true のときには警......lambda と Proc.new では挙動が異なります。
例えば return を行った場合、lambda では手続きオブジェクト自身を抜けますが、
Proc.new では手続きオブジェクトを囲むメソッドを抜けます。
//emlist[例][ruby]{
def test_proc
f = Proc.new { retur......与えられたブロックから手続きオブジェクト (Proc のインスタンス)
を生成して返します。Proc.new に近い働きをします。
また、lambda に & 引数を渡すのは推奨されません。& 引数ではなくてブロック記法で記述する必要があ......deprecated; use the proc without lambda instead」
を出力します。
@raise ArgumentError ブロックを省略した呼び出しを行ったときに発生します。
//emlist[例][ruby]{
def foo &block
lambda(&block)
end
it = foo{p 12}
it.call #=> 12
//}
@see Proc,Proc.new
===[a:should......deprecated; use the proc without lambda instead」
を出力します。
@raise ArgumentError ブロックを省略した呼び出しを行ったときに発生します。
//emlist[例][ruby]{
def foo &block
proc(&block)
end
it = foo{p 12}
it.call #=> 12
//}
@see Proc,Proc.new
===[a:should_... -
手続きオブジェクトの挙動の詳細 (3256.0)
-
手続きオブジェクトの挙動の詳細 * def * should_use_next * block * lambda_proc * orphan
...e_next
* block
* lambda_proc
* orphan
===[a:def] 手続きオブジェクトとは
手続きオブジェクトとはブロックをコンテキスト(ローカル変数のスコープやスタックフレーム)と
ともにオブジェクトにしたものです。Proc クラスのインスタ......ローカル変数を参照できます。
Proc オブジェクトがローカル変数のスコープを保持していることは以下の例で変数 var を
参照できていることからわかります。
//emlist[例][ruby]{
var = 1
$foo = Proc.new { var }
var = 2
def foo
$foo.call
end......lambda と Proc.new では挙動が異なります。
例えば return を行った場合、lambda では手続きオブジェクト自身を抜けますが、
Proc.new では手続きオブジェクトを囲むメソッドを抜けます。
//emlist[例][ruby]{
def test_proc
f = Proc.new { retur... -
MiniTest
:: Assertions # assert(test , message = nil) -> true (3125.0) -
与えられた式の評価結果が真である場合、検査にパスしたことになります。
...m test 真偽値を返す式を指定します。
@param message 検査に失敗した場合に表示するメッセージを指定します。
文字列か Proc を指定します。Proc である場合は Proc#call した
結果を使用します。
@raise MiniTest:... -
MiniTest
:: Assertions # message(message) { . . . } -> Proc (3101.0) -
与えられたブロックを評価した結果と与えられたメッセージを連結して返します。
与えられたブロックを評価した結果と与えられたメッセージを連結して返します。
@param message メッセージを指定します。 -
MiniTest
:: Spec . after(type = :each) { . . . } -> Proc (3101.0) -
各テストの後に実行するブロックを登録します。
各テストの後に実行するブロックを登録します。
@param type :each を指定することができます。
@raise RuntimeError type に :each 以外を指定すると発生します。 -
MiniTest
:: Spec . before(type = :each) { . . . } -> Proc (3101.0) -
各テストの前に実行するブロックを登録します。
各テストの前に実行するブロックを登録します。
@param type :each を指定することができます。
@raise RuntimeError type に :each 以外を指定すると発生します。 -
Shell
:: CommandProcessor # [](command , file1 , file2 = nil) -> bool | Time | Integer | nil (3029.0) -
Kernel.#test や FileTest のメソッドに処理を委譲します。
...Kernel.#test や FileTest のメソッドに処理を委譲します。
@param command 数値、またはサイズが 1 の文字列の場合は Kernel.#test に処理委譲します。
2 文字以上の文字列の場合は FileTest のメソッドとして実行します。
@para......ell'
Shell.verbose = false
sh = Shell.new
begin
sh.mkdir("foo")
rescue
end
p sh[?e, "foo"] # => true
p sh[:e, "foo"] # => true
p sh["e", "foo"] # => true
p sh[:exists?, "foo"] # => true
p sh["exists?", "foo"] # => true
@see Kernel.#test, FileTest... -
MiniTest
:: Assertions # assert _ block(message = nil) { . . . } -> true (3018.0) -
与えられたブロックの評価結果が真である場合、検査にパスしたことになります。
...場合に表示するメッセージを指定します。
文字列か Proc を指定します。Proc である場合は Proc#call した
結果を使用します。
@raise MiniTest::Assertion 与えられたブロックの評価結果が偽である場合に発生し... -
MiniTest
:: Assertions # assert _ empty(object , message = nil) -> true (3018.0) -
与えられたオブジェクトが空である場合、検査にパスしたことになります。
...場合に表示するメッセージを指定します。
文字列か Proc を指定します。Proc である場合は Proc#call した
結果を使用します。
@raise MiniTest::Assertion 与えられたオブジェクトが empty? メソッドを持たない場... -
MiniTest
:: Assertions # assert _ equal(expected , actual , message = nil) -> true (3018.0) -
与えられた期待値と実際の値が等しい場合、検査にパスしたことになります。
...場合に表示するメッセージを指定します。
文字列か Proc を指定します。Proc である場合は Proc#call した
結果を使用します。
@raise MiniTest::Assertion 与えられた期待値と実際の値が等しくない場合に発生し... -
MiniTest
:: Assertions # assert _ in _ delta(expected , actual , delta = 0 . 001 , message = nil) -> true (3018.0) -
期待値と実際の値の差の絶対値が与えられた絶対誤差以下である場合、検査にパスしたことになります。
...場合に表示するメッセージを指定します。
文字列か Proc を指定します。Proc である場合は Proc#call した
結果を使用します。
@raise MiniTest::Assertion 与えられた期待値と実際の値の差の絶対値が与えられた... -
MiniTest
:: Assertions # assert _ in _ epsilon(actual , expected , epsilon = 0 . 001 , message = nil) -> true (3018.0) -
与えられた期待値と実際の値の相対誤差が許容範囲内である場合、検査にパスしたことになります。
...sage 検査に失敗した場合に表示するメッセージを指定します。
文字列か Proc を指定します。Proc である場合は Proc#call した
結果を使用します。
@raise MiniTest::Assertion 検査に失敗した場合に発生します。... -
MiniTest
:: Assertions # assert _ includes(collection , object , message = nil) -> true (3018.0) -
与えられたコレクションにオブジェクトが含まれている場合、検査にパスしたことになります。
...場合に表示するメッセージを指定します。
文字列か Proc を指定します。Proc である場合は Proc#call した
結果を使用します。
@raise MiniTest::Assertion 第一引数のオブジェクトが include? メソッドを持たない場... -
MiniTest
:: Assertions # assert _ instance _ of(klass , object , message = nil) -> true (3018.0) -
与えられたオブジェクトが与えられたクラスの直接のインスタンスである場合、検査にパスしたことになります。
...場合に表示するメッセージを指定します。
文字列か Proc を指定します。Proc である場合は Proc#call した
結果を使用します。
@raise MiniTest::Assertion 与えられたオブジェクトが与えられたクラスの直接のイ......ンスタンスでない
場合に発生します。
@see Module#===, MiniTest::Assertions#assert_kind_of... -
MiniTest
:: Assertions # assert _ kind _ of(klass , object , message) -> true (3018.0) -
与えられたオブジェクトが与えられたクラスまたはそのサブクラスのインスタンス である場合、検査にパスしたことになります。
...場合に表示するメッセージを指定します。
文字列か Proc を指定します。Proc である場合は Proc#call した
結果を使用します。
@raise MiniTest::Assertion 与えられたオブジェクトが与えられたクラスまたはその......サブクラスの
インスタンスではない場合に発生します。
@see Object#kind_of?, MiniTest::Assertions#assert_instance_of... -
MiniTest
:: Assertions # assert _ match(regexp , str , message = nil) -> true (3018.0) -
与えられた文字列が与えられた正規表現にマッチした場合、検査にパスしたことになります。
...場合に表示するメッセージを指定します。
文字列か Proc を指定します。Proc である場合は Proc#call した
結果を使用します。
@raise MiniTest::Assertion 与えられた文字列が与えられた正規表現にマッチしなか... -
MiniTest
:: Assertions # assert _ nil(object , message = nil) -> true (3018.0) -
与えられたオブジェクトが nil である場合、検査にパスしたことになります。
...場合に表示するメッセージを指定します。
文字列か Proc を指定します。Proc である場合は Proc#call した
結果を使用します。
@raise MiniTest::Assertion 与えられたオブジェクトが nil でない場合に発生します... -
MiniTest
:: Assertions # assert _ operator(operand1 , operator , operand2 , message = nil) -> true (3018.0) -
与えられたオブジェクトから作成する式を評価した結果が真を返す場合、検査にパスしたことになります。
...場合に表示するメッセージを指定します。
文字列か Proc を指定します。Proc である場合は Proc#call した
結果を使用します。
@raise MiniTest::Assertion 与えられたオブジェクトから作成する式を評価した結果... -
MiniTest
:: Assertions # assert _ respond _ to(object , method _ name , message = nil) -> true (3018.0) -
与えられたオブジェクトが与えられたメソッドを持つ場合、検査にパスしたことになります。
...場合に表示するメッセージを指定します。
文字列か Proc を指定します。Proc である場合は Proc#call した
結果を使用します。
@raise MiniTest::Assertion 与えられたオブジェクトが与えられたメソッドを持たな... -
MiniTest
:: Assertions # assert _ same(expected , actual , message = nil) -> true (3018.0) -
与えられた二つのオブジェクトの Object#object_id が同じ場合、検査にパスしたことになります。
...場合に表示するメッセージを指定します。
文字列か Proc を指定します。Proc である場合は Proc#call した
結果を使用します。
@raise MiniTest::Assertion 与えられた二つのオブジェクトが異なる場合に発生しま... -
MiniTest
:: Assertions # assert _ send(array , message = nil) -> true (3018.0) -
引数から、式を取り出して評価した結果が真の場合、検査にパスしたことになります。
...場合に表示するメッセージを指定します。
文字列か Proc を指定します。Proc である場合は Proc#call した
結果を使用します。
@raise MiniTest::Assertion 取り出した式が偽を返す場合に発生します。
例:
assert_... -
MiniTest
:: Assertions # assert _ throws(tag , message = nil) { . . . } -> true (3018.0) -
与えられたブロックを評価中に、与えられたタグが Kernel.#throw された場合、検査にパスしたことになります。
...場合に表示するメッセージを指定します。
文字列か Proc を指定します。Proc である場合は Proc#call した
結果を使用します。
@raise MiniTest::Assertion 与えられたタグが Kernel.#throw されなかった場合に発生し... -
Kernel
. # lambda -> Proc (402.0) -
与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。
...与えられたブロックから手続きオブジェクト (Proc のインスタンス)
を生成して返します。Proc.new に近い働きをします。
ブロックが指定されなければ、呼び出し元のメソッドで指定されたブロック
を手続きオブジェクトと......までは警告メッセージ
「warning: tried to create Proc object without a block」
が出力され、Ruby 2.7 では
ArgumentError (tried to create Proc object without a block)
が発生します。
ブロックを指定しない proc は、Ruby 2.7 では
$VERBOSE = true のときには警......lambda と Proc.new では挙動が異なります。
例えば return を行った場合、lambda では手続きオブジェクト自身を抜けますが、
Proc.new では手続きオブジェクトを囲むメソッドを抜けます。
//emlist[例][ruby]{
def test_proc
f = Proc.new { retur... -
Kernel
. # lambda { . . . } -> Proc (402.0) -
与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。
...与えられたブロックから手続きオブジェクト (Proc のインスタンス)
を生成して返します。Proc.new に近い働きをします。
ブロックが指定されなければ、呼び出し元のメソッドで指定されたブロック
を手続きオブジェクトと......までは警告メッセージ
「warning: tried to create Proc object without a block」
が出力され、Ruby 2.7 では
ArgumentError (tried to create Proc object without a block)
が発生します。
ブロックを指定しない proc は、Ruby 2.7 では
$VERBOSE = true のときには警......lambda と Proc.new では挙動が異なります。
例えば return を行った場合、lambda では手続きオブジェクト自身を抜けますが、
Proc.new では手続きオブジェクトを囲むメソッドを抜けます。
//emlist[例][ruby]{
def test_proc
f = Proc.new { retur......与えられたブロックから手続きオブジェクト (Proc のインスタンス)
を生成して返します。Proc.new に近い働きをします。
また、lambda に & 引数を渡すのは推奨されません。& 引数ではなくてブロック記法で記述する必要があ......deprecated; use the proc without lambda instead」
を出力します。
@raise ArgumentError ブロックを省略した呼び出しを行ったときに発生します。
//emlist[例][ruby]{
def foo &block
lambda(&block)
end
it = foo{p 12}
it.call #=> 12
//}
@see Proc,Proc.new
===[a:should......deprecated; use the proc without lambda instead」
を出力します。
@raise ArgumentError ブロックを省略した呼び出しを行ったときに発生します。
//emlist[例][ruby]{
def foo &block
proc(&block)
end
it = foo{p 12}
it.call #=> 12
//}
@see Proc,Proc.new
===[a:should_... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (300.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
...らしい
^^;;)
: ((<Proc/Proc.new>)) [change]
: ((<組み込み関数/lambda>)) [change]
: ((<組み込み関数/proc>)) [change]
以下のように変更されました。((<ruby-dev:20358>))
* Proc.new およびブロック引数で与えられる Proc は
引数チェ......ックがゆるい。break が例外になる。
Proc.new {|a,b,c| p [a,b,c]}.call(1,2)
=> -:1: wrong # of arguments (2 for 3) (ArgumentError)
from -:1:in `call'
from -:1
ruby 1.6.8 (2002-12-24) [i586-lin......任意
の値を返すことができます。
: 多重代入 [change]
多重代入の規則を見直しました。
# # derived from sample/test.rb
# a = *[]; p a # special case
# def f; yield; end; f {|a| p a} # add (warning)
# def r; return; end; a = r...