るりまサーチ (Ruby 2.3.0)

最速Rubyリファレンスマニュアル検索!
17件ヒット [1-17件を表示] (0.008秒)
トップページ > バージョン:2.3.0[x] > クラス:Proc[x]

ライブラリ

キーワード

検索結果

Proc#===(*arg) -> () (2.0)

手続きオブジェクトを実行してその結果を返します。

...を実行してその結果を返します。

引数の渡され方はオブジェクトの生成方法によって異なります。
詳しくは Proc#lambda? を参照してください。

「===」は when の所に手続きを渡せるようにするためのものです。

def sign(n)...
...0 then 0
when 1 then 1
else
fib.(n - 2) + fib.(n - 1)
end
}
fib.(10) # => 55



@param arg 手続きオブジェクトに与える引数を指定します。

@raise LocalJumpError Procを生成したメソッドからリターンしてしまった場合に発生します。...

Proc#[](*arg) -> () (2.0)

手続きオブジェクトを実行してその結果を返します。

...を実行してその結果を返します。

引数の渡され方はオブジェクトの生成方法によって異なります。
詳しくは Proc#lambda? を参照してください。

「===」は when の所に手続きを渡せるようにするためのものです。

def sign(n)...
...0 then 0
when 1 then 1
else
fib.(n - 2) + fib.(n - 1)
end
}
fib.(10) # => 55



@param arg 手続きオブジェクトに与える引数を指定します。

@raise LocalJumpError Procを生成したメソッドからリターンしてしまった場合に発生します。...

Proc#arity -> Integer (2.0)

Proc オブジェクトが受け付ける引数の数を返します。

...
Proc
オブジェクトが受け付ける引数の数を返します。

ただし、可変長引数を受け付ける場合、負の整数

-(必要とされる引数の数 + 1)

を返します。

例:

lambda{ }.arity # => 0
lambda{|| }.arity # => 0
lambda{|x|...

Proc#binding -> Binding (2.0)

Proc オブジェクトが保持するコンテキストを Binding オブジェクトで返します。

...
Proc
オブジェクトが保持するコンテキストを
Binding オブジェクトで返します。...

Proc#call(*arg) -> () (2.0)

手続きオブジェクトを実行してその結果を返します。

...を実行してその結果を返します。

引数の渡され方はオブジェクトの生成方法によって異なります。
詳しくは Proc#lambda? を参照してください。

「===」は when の所に手続きを渡せるようにするためのものです。

def sign(n)...
...0 then 0
when 1 then 1
else
fib.(n - 2) + fib.(n - 1)
end
}
fib.(10) # => 55



@param arg 手続きオブジェクトに与える引数を指定します。

@raise LocalJumpError Procを生成したメソッドからリターンしてしまった場合に発生します。...

絞り込み条件を変える

Proc#curry -> Proc (2.0)

Procをカリー化します

...Procをカリー化します

カリー化したProcはいくつかの引数をとります。十分な数の引数が与えられると、元のProcに引数を渡し
て実行し、結果を返します。引数の個数が足りないときは、部分適用したカリー化Procを返します...
...したProcオブジェクトを返します

b = proc {|x, y, z| (x||0) + (y||0) + (z||0) }
p b.curry[1][2][3] #=> 6
p b.curry[1, 2][3, 4] #=> 6
p b.curry(5)[1][2][3][4][5] #=> 6
p b.curry(5)[1, 2][3, 4][5] #=> 6
p b.curry(1)[1] #=> 1

b = proc {|x, y, z...
...}
p b.curry[1][2][3] #=> 6
p b.curry[1, 2][3, 4] #=> 10
p b.curry(5)[1][2][3][4][5] #=> 15
p b.curry(5)[1, 2][3, 4][5] #=> 15
p b.curry(1) #=> wrong number of arguments (given 1, expected 3+)

b = proc { :foo }
p b.curry[] #=> :foo...

Proc#curry(arity) -> Proc (2.0)

Procをカリー化します

...Procをカリー化します

カリー化したProcはいくつかの引数をとります。十分な数の引数が与えられると、元のProcに引数を渡し
て実行し、結果を返します。引数の個数が足りないときは、部分適用したカリー化Procを返します...
...したProcオブジェクトを返します

b = proc {|x, y, z| (x||0) + (y||0) + (z||0) }
p b.curry[1][2][3] #=> 6
p b.curry[1, 2][3, 4] #=> 6
p b.curry(5)[1][2][3][4][5] #=> 6
p b.curry(5)[1, 2][3, 4][5] #=> 6
p b.curry(1)[1] #=> 1

b = proc {|x, y, z...
...}
p b.curry[1][2][3] #=> 6
p b.curry[1, 2][3, 4] #=> 10
p b.curry(5)[1][2][3][4][5] #=> 15
p b.curry(5)[1, 2][3, 4][5] #=> 15
p b.curry(1) #=> wrong number of arguments (given 1, expected 3+)

b = proc { :foo }
p b.curry[] #=> :foo...

Proc#hash -> Integer (2.0)

self のハッシュ値を返します。

self のハッシュ値を返します。

Proc#inspect -> String (2.0)

self の文字列表現を返します。

...文字列表現を返します。

可能なら self を生成したソースファイル名、行番号を含みます。

p Proc.new {
true
}.to_s

=> "#<Proc:0x0x401a880c@-:3>"...

Proc#lambda? -> bool (2.0)

手続きオブジェクトの引数の取扱が厳密であるならば true を返します。

...
例:
# lambda で生成した Proc オブジェクトでは true
lambda{}.lambda? # => true
# proc で生成した Proc オブジェクトでは false
proc
{}.lambda? # => false
# Proc.new で生成した Proc オブジェクトでは false
Proc
.new{}.lambda? # => false

# 以...
...ambda?が偽である場合
# 余分な引数を無視する
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#parameters -> [object] (2.0)

Proc オブジェクトの引数の情報を返します。

...Proc オブジェクトの引数の情報を返します。

Proc
オブジェクトが引数を取らなければ空の配列を返します。引数を取る場合は、配列の配列を返し、
各配列の要素は引数の種類に対応した以下のような Symbol と、引数名を表す...

Proc#source_location -> [String, Integer] | nil (2.0)

ソースコードのファイル名と行番号を配列で返します。

ソースコードのファイル名と行番号を配列で返します。

その手続オブジェクトが ruby で定義されていない(つまりネイティブ
である)場合は nil を返します。


@see Method#source_location

Proc#to_proc -> self (2.0)

self を返します。

self を返します。

Proc#to_s -> String (2.0)

self の文字列表現を返します。

...文字列表現を返します。

可能なら self を生成したソースファイル名、行番号を含みます。

p Proc.new {
true
}.to_s

=> "#<Proc:0x0x401a880c@-:3>"...

Proc#yield(*arg) -> () (2.0)

手続きオブジェクトを実行してその結果を返します。

...を実行してその結果を返します。

引数の渡され方はオブジェクトの生成方法によって異なります。
詳しくは Proc#lambda? を参照してください。

「===」は when の所に手続きを渡せるようにするためのものです。

def sign(n)...
...0 then 0
when 1 then 1
else
fib.(n - 2) + fib.(n - 1)
end
}
fib.(10) # => 55



@param arg 手続きオブジェクトに与える引数を指定します。

@raise LocalJumpError Procを生成したメソッドからリターンしてしまった場合に発生します。...

絞り込み条件を変える

Proc.new -> Proc (2.0)

ブロックをコンテキストとともにオブジェクト化して返します。

...ければ、このメソッドを呼び出したメソッドが
ブロックを伴うときに、それを 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:in `<main>'

Proc
.new は、Proc#initialize が定義されていれば
オブジェクト...
...の初期化のためにこれを呼び出します。このことを
除けば、Kernel.#proc と同じです。...

Proc.new { ... } -> Proc (2.0)

ブロックをコンテキストとともにオブジェクト化して返します。

...ければ、このメソッドを呼び出したメソッドが
ブロックを伴うときに、それを 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:in `<main>'

Proc
.new は、Proc#initialize が定義されていれば
オブジェクト...
...の初期化のためにこれを呼び出します。このことを
除けば、Kernel.#proc と同じです。...