検索結果
先頭5件
-
Proc
# call(*arg) -> () (15102) -
手続きオブジェクトを実行してその結果を返します。
...ブロックパラメータにそのまま(多重代入のルールに従い)代入されます。
@param arg 手続きオブジェクトに与える引数を指定します。
@raise LocalJumpError Procを生成したメソッドからリターンしてしまった場合に発生します。......を実行してその結果を返します。
引数の渡され方はオブジェクトの生成方法によって異なります。
詳しくは Proc#lambda? を参照してください。
「===」は when の所に手続きを渡せるようにするためのものです。
def sign(n)......< 0} then -1
else 0
end
end
p sign(-4) #=> -1
p sign(0) #=> 0
p sign(7) #=> 1
@param arg 手続きオブジェクトに与える引数を指定します。
@raise LocalJumpError Procを生成したメソッドからリターンしてしまった場合に発生します。... -
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の場合これらはす......される 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 (7) -
ブロックをコンテキストとともにオブジェクト化して返します。
...ば、このメソッドを呼び出したメソッドが
ブロックを伴うときに、それを Proc オブジェクトとして生成して返します。
def foo
pr = Proc.new
pr.call(1)
end
foo {|arg| p arg }
# => 1
これは以下と同じです。
def foo
yield(1)......れば、例外
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 (7) -
ブロックをコンテキストとともにオブジェクト化して返します。
...ば、このメソッドを呼び出したメソッドが
ブロックを伴うときに、それを Proc オブジェクトとして生成して返します。
def foo
pr = Proc.new
pr.call(1)
end
foo {|arg| p arg }
# => 1
これは以下と同じです。
def foo
yield(1)......れば、例外
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
# ===(*arg) -> () (2) -
手続きオブジェクトを実行してその結果を返します。
...を実行してその結果を返します。
引数の渡され方はオブジェクトの生成方法によって異なります。
詳しくは Proc#lambda? を参照してください。
「===」は when の所に手続きを渡せるようにするためのものです。
def sign(n)......< 0} then -1
else 0
end
end
p sign(-4) #=> -1
p sign(0) #=> 0
p sign(7) #=> 1
@param arg 手続きオブジェクトに与える引数を指定します。
@raise LocalJumpError Procを生成したメソッドからリターンしてしまった場合に発生します。... -
Proc
# [](*arg) -> () (2) -
手続きオブジェクトを実行してその結果を返します。
...ブロックパラメータにそのまま(多重代入のルールに従い)代入されます。
@param arg 手続きオブジェクトに与える引数を指定します。
@raise LocalJumpError Procを生成したメソッドからリターンしてしまった場合に発生します。......を実行してその結果を返します。
引数の渡され方はオブジェクトの生成方法によって異なります。
詳しくは Proc#lambda? を参照してください。
「===」は when の所に手続きを渡せるようにするためのものです。
def sign(n)......< 0} then -1
else 0
end
end
p sign(-4) #=> -1
p sign(0) #=> 0
p sign(7) #=> 1
@param arg 手続きオブジェクトに与える引数を指定します。
@raise LocalJumpError Procを生成したメソッドからリターンしてしまった場合に発生します。... -
Proc
# yield(*arg) -> () (2) -
手続きオブジェクトを実行してその結果を返します。
...を実行してその結果を返します。
引数の渡され方はオブジェクトの生成方法によって異なります。
詳しくは Proc#lambda? を参照してください。
「===」は when の所に手続きを渡せるようにするためのものです。
def sign(n)......< 0} then -1
else 0
end
end
p sign(-4) #=> -1
p sign(0) #=> 0
p sign(7) #=> 1
@param arg 手続きオブジェクトに与える引数を指定します。
@raise LocalJumpError Procを生成したメソッドからリターンしてしまった場合に発生します。...
