るりまサーチ

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

別のキーワード

  1. _builtin >
  2. bigdecimal >
  3. module >
  4. integer >
  5. complex >

ライブラリ

クラス

検索結果

<< 1 2 3 > >>

Enumerator::Yielder#yield(*object) -> () (42619.0)

Enumerator.new で使うメソッドです。

...
E
numerator.new で使うメソッドです。

生成された Enumerator オブジェクトの each メソッドを呼ぶと
E
numerator::Yielder オブジェクトが渡されたブロックが実行され、
ブロック内の yield メソッドが呼ばれるたびに each に渡された
ブロ...
...ックが yield メソッドに渡された値とともに繰り返されます。

//emlist[例][ruby]{
e
num = Enumerator.new do |y|
y.yield 1, 2, 3
e
nd

e
num.each do |x, y, z|
p [x, y, z]
e
nd
# => [1, 2, 3]
//}...

Fiber.yield(*arg = nil) -> object (36613.0)

現在のファイバーの親にコンテキストを切り替えます。

...際に Fiber#resume に与えられた引数を yield メソッドは返します。

@param arg 現在のファイバーの親に渡したいオブジェクトを指定します。

@raise FiberError Fiber でのルートファイバーで呼ばれた場合に発生します。


//emlist[例:][rub...
...y]{
a = nil
f = Fiber.new do
a = Fiber.yield()
e
nd

f.resume()
f.resume(:foo)

p a #=> :foo
//}...

Object#yield_self -> Enumerator (27744.0)

self を引数としてブロックを評価し、ブロックの結果を返します。

...self を引数としてブロックを評価し、ブロックの結果を返します。

//emlist[例][ruby]{
"my string".yield_self {|s| s.upcase } # => "MY STRING"
3.next.yield_self {|x| x**x }.to_s # => "256"
//}

値をメソッドチェインのパイプラインに次々と渡すの...
...方です。

//emlist[メソッドチェインのパイプライン][ruby]{
require 'open-uri'
require 'json'

construct_url(arguments).
yield
_self {|url| URI(url).read }.
yield
_self {|response| JSON.parse(response) }
//}

ブロックなしで呼び出されたときは Enumerator を返しま...
...す。
例えば条件によって値を捨てるのに使えます。

//emlist[][ruby]{
# 条件にあうので何もしない
1.yield_self.detect(&:odd?) # => 1
# 条件に合わないので値を捨てる
2.yield_self.detect(&:odd?) # => nil
//}

@see Object#tap...

Object#yield_self {|x| ... } -> object (27744.0)

self を引数としてブロックを評価し、ブロックの結果を返します。

...self を引数としてブロックを評価し、ブロックの結果を返します。

//emlist[例][ruby]{
"my string".yield_self {|s| s.upcase } # => "MY STRING"
3.next.yield_self {|x| x**x }.to_s # => "256"
//}

値をメソッドチェインのパイプラインに次々と渡すの...
...方です。

//emlist[メソッドチェインのパイプライン][ruby]{
require 'open-uri'
require 'json'

construct_url(arguments).
yield
_self {|url| URI(url).read }.
yield
_self {|response| JSON.parse(response) }
//}

ブロックなしで呼び出されたときは Enumerator を返しま...
...す。
例えば条件によって値を捨てるのに使えます。

//emlist[][ruby]{
# 条件にあうので何もしない
1.yield_self.detect(&:odd?) # => 1
# 条件に合わないので値を捨てる
2.yield_self.detect(&:odd?) # => nil
//}

@see Object#tap...

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

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

...#lambda? を参照してください。

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

//emlist[例][ruby]{
d
ef sign(n)
case n
when lambda{|n| n > 0} then 1
when lambda{|n| n < 0} then -1
e
lse 0
e
nd
e
nd

p sign(-4) #=> -1
p sign(0) #=> 0
p sign(7...
...) #=> 1
//}

また、以下のような syntactic sugar もあります。

//emlist[例][ruby]{
fib = lambda{|n|
case n
when 0 then 0
when 1 then 1
e
lse
fib.(n - 2) + fib.(n - 1)
e
nd
}
fib.(10) # => 55
//}



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

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

絞り込み条件を変える

Thread#thread_variable_get(key) -> object | nil (21518.0)

引数 key で指定した名前のスレッドローカル変数を返します。

...key で指定した名前のスレッドローカル変数を返します。

[注意]: Thread#[] でセットしたローカル変数(Fiber ローカル変数)と
異なり、Fiber を切り替えても同じ変数を返す事に注意してください。

例:

Thread.new {
Thread.current...
....thread_variable_set("foo", "bar") # スレッドローカル
Thread.current["foo"] = "bar" # Fiber ローカル

Fiber.new {
Fiber.yield [
Thread.current.thread_variable_get("foo"), # スレッドローカル
Thread.current["foo"],...
...# Fiber ローカル
]
}.resume
}.join.value # => ['bar', nil]

この例の "bar" は Thread#thread_variable_get により得られ
た値で、nil はThread#[] により得られた値です。

@see Thread#thread_variable_set, Thread#[]

@see https://magazine.rubyist.net/articles/0...

Object#yield_self -> Enumerator (18738.0)

self を引数としてブロックを評価し、ブロックの結果を返します。

...self を引数としてブロックを評価し、ブロックの結果を返します。

//emlist[例][ruby]{
3.next.then {|x| x**x }.to_s # => "256"
"my string".yield_self {|s| s.upcase } # => "MY STRING"
//}

値をメソッドチェインのパイプラインに次々と渡すの...
...方です。

//emlist[メソッドチェインのパイプライン][ruby]{
require 'open-uri'
require 'json'

construct_url(arguments).
yield
_self {|url| URI(url).read }.
yield
_self {|response| JSON.parse(response) }
//}

ブロックなしで呼び出されたときは Enumerator を返しま...
...す。
例えば条件によって値を捨てるのに使えます。

//emlist[][ruby]{
# 条件にあうので何もしない
1.yield_self.detect(&:odd?) # => 1
# 条件に合わないので値を捨てる
2.yield_self.detect(&:odd?) # => nil
//}

@see Object#tap...

Object#yield_self {|x| ... } -> object (18738.0)

self を引数としてブロックを評価し、ブロックの結果を返します。

...self を引数としてブロックを評価し、ブロックの結果を返します。

//emlist[例][ruby]{
3.next.then {|x| x**x }.to_s # => "256"
"my string".yield_self {|s| s.upcase } # => "MY STRING"
//}

値をメソッドチェインのパイプラインに次々と渡すの...
...方です。

//emlist[メソッドチェインのパイプライン][ruby]{
require 'open-uri'
require 'json'

construct_url(arguments).
yield
_self {|url| URI(url).read }.
yield
_self {|response| JSON.parse(response) }
//}

ブロックなしで呼び出されたときは Enumerator を返しま...
...す。
例えば条件によって値を捨てるのに使えます。

//emlist[][ruby]{
# 条件にあうので何もしない
1.yield_self.detect(&:odd?) # => 1
# 条件に合わないので値を捨てる
2.yield_self.detect(&:odd?) # => nil
//}

@see Object#tap...

Exception#backtrace_locations -> [Thread::Backtrace::Location] (15636.0)

バックトレース情報を返します。Exception#backtraceに似ていますが、 Thread::Backtrace::Location の配列を返す点が異なります。

...Exception#backtraceに似ていますが、
Thread::Backtrace::Location の配列を返す点が異なります。

現状では Exception#set_backtrace によって戻り値が変化する事はあり
ません。

//emlist[例: test.rb][ruby]{
require "date"
d
ef check_long_month(month)
return if...
... Date.new(2000, month, -1).day == 31
raise "#{month} is not long month"
e
nd

d
ef get_exception
return begin
yield

rescue => e
e

e
nd
e
nd

e
= get_exception { check_long_month(2) }
p e.backtrace_locations
# => ["test.rb:4:in `check_long_month'", "test.rb:15:in `block in <main>'", "test...
....rb:9:in `get_exception'", "test.rb:15:in `<main>'"]
//}

@see Exception#backtrace...

Pathname#find -> Enumerator (15506.0)

self 配下のすべてのファイルやディレクトリを 一つずつ引数 pathname に渡してブロックを実行します。

...self 配下のすべてのファイルやディレクトリを
一つずつ引数 pathname に渡してブロックを実行します。

require 'find'
Find.find(self.to_s) {|f| yield Pathname.new(f)}

と同じです。

ブロックを省略した場合は Enumerator を返します。


@see...
...Find.#find...

絞り込み条件を変える

Pathname#find {|pathname| ...} -> nil (15506.0)

self 配下のすべてのファイルやディレクトリを 一つずつ引数 pathname に渡してブロックを実行します。

...self 配下のすべてのファイルやディレクトリを
一つずつ引数 pathname に渡してブロックを実行します。

require 'find'
Find.find(self.to_s) {|f| yield Pathname.new(f)}

と同じです。

ブロックを省略した場合は Enumerator を返します。


@see...
...Find.#find...

Pathname#find(ignore_error: true) -> Enumerator (15506.0)

self 配下のすべてのファイルやディレクトリを 一つずつ引数 pathname に渡してブロックを実行します。

...self 配下のすべてのファイルやディレクトリを
一つずつ引数 pathname に渡してブロックを実行します。

require 'find'
Find.find(self.to_s) {|f| yield Pathname.new(f)}

と同じです。

ブロックを省略した場合は Enumerator を返します。

@para...
...m ignore_error 探索中に発生した例外を無視するかどうかを指定します。

@see Find.#find...

Pathname#find(ignore_error: true) {|pathname| ...} -> nil (15506.0)

self 配下のすべてのファイルやディレクトリを 一つずつ引数 pathname に渡してブロックを実行します。

...self 配下のすべてのファイルやディレクトリを
一つずつ引数 pathname に渡してブロックを実行します。

require 'find'
Find.find(self.to_s) {|f| yield Pathname.new(f)}

と同じです。

ブロックを省略した場合は Enumerator を返します。

@para...
...m ignore_error 探索中に発生した例外を無視するかどうかを指定します。

@see Find.#find...

Enumerator#feed(obj) -> nil (12588.0)

Enumerator 内部の yield が返す値を設定します。

...
E
numerator 内部の yield が返す値を設定します。

これで値を設定しなかった場合は yield は nil を返します。

この値は内部で yield された時点でクリアされます。

//emlist[例][ruby]{
# (1), (2), ... (10) の順に実行される
o = Object.new
d
ef...
...each
x = yield # (2) blocks
p x # (5) => "foo"
x = yield # (6) blocks
p x # (8) => nil
x = yield # (9) blocks
p x # not reached w/o another e.next
e
nd

e
= o.to_enum
e
.next # (1)
e
.feed "foo" # (3)
e
.ne...
...xt # (4)
e
.next # (7)
# (10)
//}

@param obj Enumerator 内部の yield が返す値
@raise TypeError すでに値をこのメソッドでセットしている場合に発生します...
<< 1 2 3 > >>