るりまサーチ

最速Rubyリファレンスマニュアル検索!
12件ヒット [1-12件を表示] (0.127秒)
トップページ > クエリ:-[x] > クエリ:r[x] > クエリ:h[x] > ライブラリ:ビルトイン[x] > クエリ:yield_self[x]

別のキーワード

  1. _builtin to_h
  2. hash to_h
  3. array to_h
  4. struct to_h
  5. env to_h

クラス

検索結果

Object#yield_self -> Enumerator (18340.0)

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

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

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

//emlist[メソッドチェインのパイプライン][ruby]{
r
equire 'open-...
...uri'
r
equire '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#then -> Enumerator (6340.0)

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

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

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

//emlist[メソッドチェインのパイプライン][ruby]{
r
equire 'open-...
...uri'
r
equire '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...