関連するキーワード
検索結果
-
Proc
# lambda? -> bool (19) -
手続きオブジェクトの引数の取扱が厳密であるならば true を返します。
...。
例:
# lambda で生成した Proc オブジェクトでは true
lambda{}.lambda? # => true
# proc で生成した Proc オブジェクトでは false
proc{}.lambda? # => false
# Proc.new で生成した Proc オブジェクトでは false
Proc.new{}.lambda? # => false
# 以......を無視する
proc{|a,b| [a,b]}.call(1,2,3) # => [1,2]
# 足りない引数には nil が渡される
proc{|a,b| [a,b]}.call(1) # => [1, nil]
# 配列1つだと展開される
proc{|a,b| [a,b]}.call([1,2]) => [1,2]
# lambdaの場合これらはすべて ArgumentError となる
#......される Proc は lambda? が偽となる
def n(&b) b.lambda? end
n {} # => false
# &が付いた実引数によるものは、lambda?が元の Procオブジェクトから
# 引き継がれる
lambda(&lambda {}).lambda? #=> true
proc(&lambda {}).lambda? #=> true
Proc.new(&la... -
Proc
. new -> Proc (13) -
ブロックをコンテキストとともにオブジェクト化して返します。
...ければ、このメソッドを呼び出したメソッドが
ブロックを伴うときに、それを Proc オブジェクトとして生成して返します。
def foo
pr = Proc.new
pr.call(1)
end
foo {|arg| p arg }
# => 1
これは以下と同じです。
def foo
yie......ロックを伴わなければ、例外
ArgumentError が発生します。
def foo
Proc.new
end
foo
# => -:2:in `new': tried to create Proc object without a block (ArgumentError)
from -:2:in `foo'
from -:4
Proc.new は、Proc#initialize が定義されていれば......オブジェクトの初期化のためにこれを呼び出します。このことを
除けば、Kernel.#proc と同じです。... -
Proc
. new { . . . } -> Proc (13) -
ブロックをコンテキストとともにオブジェクト化して返します。
...ければ、このメソッドを呼び出したメソッドが
ブロックを伴うときに、それを Proc オブジェクトとして生成して返します。
def foo
pr = Proc.new
pr.call(1)
end
foo {|arg| p arg }
# => 1
これは以下と同じです。
def foo
yie......ロックを伴わなければ、例外
ArgumentError が発生します。
def foo
Proc.new
end
foo
# => -:2:in `new': tried to create Proc object without a block (ArgumentError)
from -:2:in `foo'
from -:4
Proc.new は、Proc#initialize が定義されていれば......オブジェクトの初期化のためにこれを呼び出します。このことを
除けば、Kernel.#proc と同じです。...
