るりまサーチ

最速Rubyリファレンスマニュアル検索!
24件ヒット [1-24件を表示] (0.009秒)

別のキーワード

  1. _builtin yield
  2. object yield_self
  3. _builtin yield_self
  4. yielder yield
  5. proc yield

ライブラリ

クラス

検索結果

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

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

... yield が返す値を設定します。

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

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

//emlist[例][ruby]{
# (1), (2), ... (10) の順に実行される
o = Object.new
def o.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
end

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

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

制御構造 (54.0)

制御構造 条件分岐: * if * unless * case 繰り返し: * while * until * for * break * next * redo * retry 例外処理: * raise * begin その他: * return * BEGIN * END

...結果を返します。
条件が成立しなければ nil を返します。

====[a:unless] unless

//emlist[例][ruby]{
unless baby?
feed
_meat
else
feed
_milk
end
//}

文法:

unless 式 [then]
式 ...
[else
式 ... ]
end

unless は if...
...ソッド(イテレータ)を定義する必要があります。

//emlist[][ruby]{
class Array
def each2
i = 0
while i < self.size
yield
self[i], self[i+1]
i += 2
end
end
end
//}

====[a:break] break

//emlist[例][ruby]{
i = 0
while i < 3
print i, "\n"
break
end
//...
...の次の繰り返しにジャンプします。
イテレータでは、yield 呼び出しの脱出になります。

next により抜けた yield 式は nil を返します。
ただし、引数を指定した場合、yield 式の戻り値はその引数になります。

====[a:redo] redo

...