るりまサーチ

最速Rubyリファレンスマニュアル検索!
101件ヒット [1-100件を表示] (0.020秒)
トップページ > クエリ:spec[x] > クエリ:lambda[x]

別のキーワード

  1. format spec
  2. format spec=
  3. installer spec
  4. oldformat spec
  5. oldformat spec=

検索結果

<< 1 2 > >>

手続きオブジェクトの挙動の詳細 (26118.0)

手続きオブジェクトの挙動の詳細 * def * should_use_next * block * lambda_proc * orphan

...手続きオブジェクトの挙動の詳細
* def
* should_use_next
* block
* lambda_proc
* orphan

===[a:def] 手続きオブジェクトとは

手続きオブジェクトとはブロックをコンテキスト(ローカル変数のスコープやスタックフレーム)と
ともにオ...
...//emlist[LocalJumpError が発生します。][ruby]{
pr = Proc.new { break }
(1..5).each(&pr)
//}

===[a:lambda_proc] lambda と proc と Proc.new とイテレータの違い

Kernel.#lambda と Proc.new はどちらも Proc クラスのインスタンス(手続きオブジェクト)を生成し...
...ist[lambda は引数の数が違うとエラーになる][ruby]{
b = lambda{|a,b,c|
p a,b,c
}
b.call(2, 4)
#=> wrong number of arguments (2 for 3) (ArgumentError)
//}

d:spec/call#block_arg も参照してください。

==== ジャンプ構文の挙動の違い

return と break は、lambda...
...mlist[lambda は引数の数が違うとエラーになる][ruby]{
b = lambda{|a,b,c|
p a,b,c
}
b.call(2, 4)
# => wrong number of arguments (given 2, expected 3)
//}

d:spec/call#block_arg も参照してください。

==== ジャンプ構文の挙動の違い

return と break は、lambda...

メソッド呼び出し(super・ブロック付き・yield) (23048.0)

メソッド呼び出し(super・ブロック付き・yield) * super * block * yield * block_arg * numbered_parameters * call_method

...のメソッドを持つオブジェクトのメソッド定義式内でなければ呼び出せ
ません。d:spec/def#limit を参照して下さい。

ハッシュ式の解説(d:spec/literal#hash)にも書かれている通り、
メソッド呼出の末尾にHashを渡す場合は {, } を省...
...略することができます。
これを用いることでキーワード引数を渡すことができます。
この Hash はd:spec/def#methodで解説されているキーワード引数に
分解されて引き渡されます。


===[a:super] super

//emlist[例][ruby]{
super
super(1,2,3)
/...
...eld の戻り値になります。

====[a:block_arg] ブロックパラメータの挙動


メソッド呼び出しと挙動が異なります。
lambda
でないブロックを呼び出したとき

* 引数の数が違ってもエラーになりません。
* 配列をひとつ渡したと...
...略することができます。
これを用いることでキーワード引数を渡すことができます。
この Hash はd:spec/def#methodで解説されているキーワード引数に
分解されて引き渡されます。

メソッド呼び出しで `.' の代わりに `&.' を使う...

Kernel.#lambda { ... } -> Proc (18233.0)

与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。

...します。


また、lambda に & 引数を渡すのは推奨されません。& 引数ではなくてブロック記法で記述する必要があります。

& 引数を渡した lambda は Warning[:deprecated] = true のときに警告メッセージ
「warning: lambda without a literal block...
...is 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:sh...
...mlist[lambda は引数の数が違うとエラーになる][ruby]{
b = lambda{|a,b,c|
p a,b,c
}
b.call(2, 4)
# => wrong number of arguments (given 2, expected 3)
//}

d:spec/call#block_arg も参照してください。

==== ジャンプ構文の挙動の違い

return と break は、lambda...
...is 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:shou...

Kernel.#lambda -> Proc (18216.0)

与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。

...のメソッドで指定されたブロック
を得たい場合は明示的に & 引数でうけるべきです。

ブロックを指定しない lambda は Ruby 2.6 までは警告メッセージ
「warning: tried to create Proc object without a block」
が出力され、Ruby 2.7 では
Argument...
...にブロックがないのにブロックを省略した呼び出しを行ったときに発生します。

//emlist[例][ruby]{
def foo &block
lambda
(&block)
end

it = foo{p 12}
it.call #=> 12
//}

@see Proc,Proc.new

===[a:should_use_next] 手続きを中断して値を返す

手続きオブ...
...ist[lambda は引数の数が違うとエラーになる][ruby]{
b = lambda{|a,b,c|
p a,b,c
}
b.call(2, 4)
#=> wrong number of arguments (2 for 3) (ArgumentError)
//}

d:spec/call#block_arg も参照してください。

==== ジャンプ構文の挙動の違い

return と break は、lambda...
...mlist[lambda は引数の数が違うとエラーになる][ruby]{
b = lambda{|a,b,c|
p a,b,c
}
b.call(2, 4)
# => wrong number of arguments (given 2, expected 3)
//}

d:spec/call#block_arg も参照してください。

==== ジャンプ構文の挙動の違い

return と break は、lambda...

Kernel.#lambda { ... } -> Proc (18216.0)

与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。

...のメソッドで指定されたブロック
を得たい場合は明示的に & 引数でうけるべきです。

ブロックを指定しない lambda は Ruby 2.6 までは警告メッセージ
「warning: tried to create Proc object without a block」
が出力され、Ruby 2.7 では
Argument...
...にブロックがないのにブロックを省略した呼び出しを行ったときに発生します。

//emlist[例][ruby]{
def foo &block
lambda
(&block)
end

it = foo{p 12}
it.call #=> 12
//}

@see Proc,Proc.new

===[a:should_use_next] 手続きを中断して値を返す

手続きオブ...
...ist[lambda は引数の数が違うとエラーになる][ruby]{
b = lambda{|a,b,c|
p a,b,c
}
b.call(2, 4)
#=> wrong number of arguments (2 for 3) (ArgumentError)
//}

d:spec/call#block_arg も参照してください。

==== ジャンプ構文の挙動の違い

return と break は、lambda...
...mlist[lambda は引数の数が違うとエラーになる][ruby]{
b = lambda{|a,b,c|
p a,b,c
}
b.call(2, 4)
# => wrong number of arguments (given 2, expected 3)
//}

d:spec/call#block_arg も参照してください。

==== ジャンプ構文の挙動の違い

return と break は、lambda...

絞り込み条件を変える

Kernel.#proc { ... } -> Proc (3133.0)

与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。

...します。


また、lambda に & 引数を渡すのは推奨されません。& 引数ではなくてブロック記法で記述する必要があります。

& 引数を渡した lambda は Warning[:deprecated] = true のときに警告メッセージ
「warning: lambda without a literal block...
...is 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:sh...
...mlist[lambda は引数の数が違うとエラーになる][ruby]{
b = lambda{|a,b,c|
p a,b,c
}
b.call(2, 4)
# => wrong number of arguments (given 2, expected 3)
//}

d:spec/call#block_arg も参照してください。

==== ジャンプ構文の挙動の違い

return と break は、lambda...
...is 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:shou...

Kernel.#proc -> Proc (3116.0)

与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。

...のメソッドで指定されたブロック
を得たい場合は明示的に & 引数でうけるべきです。

ブロックを指定しない lambda は Ruby 2.6 までは警告メッセージ
「warning: tried to create Proc object without a block」
が出力され、Ruby 2.7 では
Argument...
...にブロックがないのにブロックを省略した呼び出しを行ったときに発生します。

//emlist[例][ruby]{
def foo &block
lambda
(&block)
end

it = foo{p 12}
it.call #=> 12
//}

@see Proc,Proc.new

===[a:should_use_next] 手続きを中断して値を返す

手続きオブ...
...ist[lambda は引数の数が違うとエラーになる][ruby]{
b = lambda{|a,b,c|
p a,b,c
}
b.call(2, 4)
#=> wrong number of arguments (2 for 3) (ArgumentError)
//}

d:spec/call#block_arg も参照してください。

==== ジャンプ構文の挙動の違い

return と break は、lambda...
...mlist[lambda は引数の数が違うとエラーになる][ruby]{
b = lambda{|a,b,c|
p a,b,c
}
b.call(2, 4)
# => wrong number of arguments (given 2, expected 3)
//}

d:spec/call#block_arg も参照してください。

==== ジャンプ構文の挙動の違い

return と break は、lambda...

Kernel.#proc { ... } -> Proc (3116.0)

与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。

...のメソッドで指定されたブロック
を得たい場合は明示的に & 引数でうけるべきです。

ブロックを指定しない lambda は Ruby 2.6 までは警告メッセージ
「warning: tried to create Proc object without a block」
が出力され、Ruby 2.7 では
Argument...
...にブロックがないのにブロックを省略した呼び出しを行ったときに発生します。

//emlist[例][ruby]{
def foo &block
lambda
(&block)
end

it = foo{p 12}
it.call #=> 12
//}

@see Proc,Proc.new

===[a:should_use_next] 手続きを中断して値を返す

手続きオブ...
...ist[lambda は引数の数が違うとエラーになる][ruby]{
b = lambda{|a,b,c|
p a,b,c
}
b.call(2, 4)
#=> wrong number of arguments (2 for 3) (ArgumentError)
//}

d:spec/call#block_arg も参照してください。

==== ジャンプ構文の挙動の違い

return と break は、lambda...
...mlist[lambda は引数の数が違うとエラーになる][ruby]{
b = lambda{|a,b,c|
p a,b,c
}
b.call(2, 4)
# => wrong number of arguments (given 2, expected 3)
//}

d:spec/call#block_arg も参照してください。

==== ジャンプ構文の挙動の違い

return と break は、lambda...

Kernel.#proc -> Proc (3115.0)

与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。

...のメソッドで指定されたブロック
を得たい場合は明示的に & 引数でうけるべきです。

ブロックを指定しない lambda は Ruby 2.6 までは警告メッセージ
「warning: tried to create Proc object without a block」
が出力され、Ruby 2.7 では
Argument...
...にブロックがないのにブロックを省略した呼び出しを行ったときに発生します。

//emlist[例][ruby]{
def foo &block
lambda
(&block)
end

it = foo{p 12}
it.call #=> 12
//}

@see Proc,Proc.new

===[a:should_use_next] 手続きを中断して値を返す

手続きオブ...
...mlist[lambda は引数の数が違うとエラーになる][ruby]{
b = lambda{|a,b,c|
p a,b,c
}
b.call(2, 4)
# => wrong number of arguments (given 2, expected 3)
//}

d:spec/call#block_arg も参照してください。

==== ジャンプ構文の挙動の違い

return と break は、lambda...

Kernel.#proc { ... } -> Proc (3115.0)

与えられたブロックから手続きオブジェクト (Proc のインスタンス) を生成して返します。Proc.new に近い働きをします。

...のメソッドで指定されたブロック
を得たい場合は明示的に & 引数でうけるべきです。

ブロックを指定しない lambda は Ruby 2.6 までは警告メッセージ
「warning: tried to create Proc object without a block」
が出力され、Ruby 2.7 では
Argument...
...にブロックがないのにブロックを省略した呼び出しを行ったときに発生します。

//emlist[例][ruby]{
def foo &block
lambda
(&block)
end

it = foo{p 12}
it.call #=> 12
//}

@see Proc,Proc.new

===[a:should_use_next] 手続きを中断して値を返す

手続きオブ...
...mlist[lambda は引数の数が違うとエラーになる][ruby]{
b = lambda{|a,b,c|
p a,b,c
}
b.call(2, 4)
# => wrong number of arguments (given 2, expected 3)
//}

d:spec/call#block_arg も参照してください。

==== ジャンプ構文の挙動の違い

return と break は、lambda...

絞り込み条件を変える

Rubyで使われる記号の意味(正規表現の複雑な記号は除く) (252.0)

Rubyで使われる記号の意味(正規表現の複雑な記号は除く) ex q num per and or  plus minus ast slash hat sq  period comma langl rangl eq tilde  dollar at under lbrarbra  lbra2rbra2 lbra3rbra3 dq colon ac  backslash semicolon

...a2rbra2 lbra3rbra3 dq colon ac 
backslash semicolon

===[a:ex] !

: !true

not 演算子。d:spec/operator#notを参照。

: 3 != 5

「等しくない」比較演算子。d:spec/operator#notを参照。

: def xxx!

「!」はメソッド名の一部です。慣用的に、
同名...
...


===[a:q] ?

: ?a

d:spec/literal#string。長さ 1 の文字列。

: def xx?

この場合の「?」はメソッド名の一部分です。
慣用的に、真偽値を返すタイプのメソッドを示すために使われます。

: xx ? yy : zz

d:spec/operator#cond。三項演算...
...> 1
//}

: { 1 => "11" , 3 => "333" }

ハッシュのリテラル

: ->(a,b){ p [a,b] }

Ruby1.9 で導入された lambda の新しい記法。以下と同じ。
//emlist{
lambda
{|a, b| p [a, b] }
//}


===[a:eq] =

: a = 12

代入演算子。

: xxx.a = 12

代入メソッドの呼び出し...

オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル (138.0)

オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル * Ruby オフィシャルサイト https://www.ruby-lang.org/ja/ * version 2.4 対応リファレンス * 原著:まつもとゆきひろ * 最新版URL: https://www.ruby-lang.org/ja/documentation/

...* spec/intro
* spec/commands
* spec/rubycmd
* spec/envvars

==== Ruby 言語仕様

Ruby でのオブジェクト:
* spec/object
* spec/class

プロセスの実行:
* spec/eval
* spec/terminate
* spec/thread
* spec/safelevel

Ruby の文法:
* spec/lexical
* spec/program
* spec...
.../variables
* spec/literal
* spec/operator
* spec/control
* spec/call
* spec/def
* spec/pattern_matching

その他:
* spec/m17n
* spec/regexp
* spec/lambda_proc

==== 組み込みライブラリ
* _builtin

==== 標準添付ライブラリ
* /

==== C API
* /

==== その他...
...* spec/intro
* spec/commands
* spec/rubycmd
* spec/envvars

==== Ruby 言語仕様

Ruby でのオブジェクト:
* spec/object
* spec/class

プロセスの実行:
* spec/eval
* spec/terminate
* spec/thread

Ruby の文法:
* spec/lexical
* spec/program
* spec/variables
* spec...
.../literal
* spec/operator
* spec/control
* spec/call
* spec/def
* spec/pattern_matching

その他:
* spec/m17n
* spec/regexp
* spec/lambda_proc

==== 組み込みライブラリ
* _builtin

==== 標準添付ライブラリ
* /

==== C API
* /

==== その他
* news/index
*...

Proc (102.0)

ブロックをコンテキスト(ローカル変数のスコープやスタックフ レーム)とともにオブジェクト化した手続きオブジェクトです。

...//emlist[LocalJumpError が発生します。][ruby]{
pr = Proc.new { break }
(1..5).each(&pr)
//}

===[a:lambda_proc] lambda と proc と Proc.new とイテレータの違い

Kernel.#lambda と Proc.new はどちらも Proc クラスのインスタンス(手続きオブジェクト)を生成し...
...ますが、
生成された手続きオブジェクトはいくつかの場面で挙動が異なります。 lambda の生成する手続きオブジェクトのほうが
よりメソッドに近い働きをするように設計されています。

Kernel.#proc は Proc.new と同じになりま...
...ist[lambda は引数の数が違うとエラーになる][ruby]{
b = lambda{|a,b,c|
p a,b,c
}
b.call(2, 4)
#=> wrong number of arguments (2 for 3) (ArgumentError)
//}

d:spec/call#block_arg も参照してください。

==== ジャンプ構文の挙動の違い

return と break は、lambda...
...mlist[lambda は引数の数が違うとエラーになる][ruby]{
b = lambda{|a,b,c|
p a,b,c
}
b.call(2, 4)
# => wrong number of arguments (given 2, expected 3)
//}

d:spec/call#block_arg も参照してください。

==== ジャンプ構文の挙動の違い

return と break は、lambda...

Symbol#to_proc -> Proc (18.0)

self に対応する Proc オブジェクトを返します。

...う名前のメソッドを
残りの引数を渡して呼びだします。

生成される Proc オブジェクトは lambda です。
//emlist[][ruby]{
:object_id.to_proc.lambda? # => true
//}

//emlist[明示的に呼ぶ例][ruby]{
:to_i.to_proc["ff", 16] # => 255 ← "ff".to_i(16)と同じ
//...
.../emlist[暗黙に呼ばれる例][ruby]{
# メソッドに & とともにシンボルを渡すと
# to_proc が呼ばれて Proc 化され、
# それがブロックとして渡される。
(1..3).collect(&:to_s) # => ["1", "2", "3"]
(1..3).select(&:odd?) # => [1, 3]
//}

@see d:spec/call#block...
<< 1 2 > >>