904件ヒット
[1-100件を表示]
(0.111秒)
ライブラリ
- ビルトイン (566)
- continuation (12)
- fiber (16)
-
net
/ pop (12) - pathname (39)
クラス
- Enumerator (84)
-
Enumerator
:: Lazy (60) -
Enumerator
:: Yielder (30) - Exception (12)
- Fiber (66)
-
Net
:: POP3 (12) - Object (71)
- Pathname (39)
- Proc (62)
- StopIteration (12)
- Thread (24)
モジュール
- Enumerable (100)
- Kernel (37)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (12) - << (12)
- === (12)
- Continuation (12)
-
NEWS for Ruby 2
. 5 . 0 (8) -
NEWS for Ruby 2
. 7 . 0 (6) -
NEWS for Ruby 3
. 0 . 0 (5) - Proc (12)
- Ruby プログラムの実行 (12)
- Yielder (12)
- [] (24)
- alive? (12)
-
backtrace
_ locations (12) - call (12)
- compact (4)
- each (48)
-
each
_ entry (39) -
enum
_ for (48) - feed (12)
- find (24)
- foreach (12)
- lambda (18)
-
max
_ by (48) - new (26)
-
next
_ values (12) -
peek
_ values (12) - proc (19)
-
proc
_ yield (12) - raise (18)
-
rb
_ catch (12) -
rb
_ f _ loop (12) -
rb
_ iterate (12) -
rb
_ thread _ yield (12) -
rb
_ yield (12) -
rb
_ yield _ 0 (12) - rdoc (12)
- result (12)
- resume (12)
-
ruby 1
. 6 feature (12) -
ruby 1
. 9 feature (12) -
sort
_ by (24) - tap (8)
- then (7)
-
thread
_ variable _ get (12) -
to
_ enum (48) -
to
_ proc (6) - transfer (12)
-
yield
_ self (8) -
yield
_ under (12) -
yield
_ under _ i (12) - クラス/メソッドの定義 (12)
- セキュリティモデル (12)
- メソッド呼び出し(super・ブロック付き・yield) (12)
- 制御構造 (12)
- 字句構造 (12)
- 手続きオブジェクトの挙動の詳細 (12)
検索結果
先頭5件
-
Enumerator
:: Yielder # yield(*object) -> () (24119.0) -
Enumerator.new で使うメソッドです。
...Enumerator.new で使うメソッドです。
生成された Enumerator オブジェクトの each メソッドを呼ぶと
Enumerator::Yielder オブジェクトが渡されたブロックが実行され、
ブロック内の yield メソッドが呼ばれるたびに each に渡された
ブロ......ックが yield メソッドに渡された値とともに繰り返されます。
//emlist[例][ruby]{
enum = Enumerator.new do |y|
y.yield 1, 2, 3
end
enum.each do |x, y, z|
p [x, y, z]
end
# => [1, 2, 3]
//}... -
Fiber
. yield(*arg = nil) -> object (18231.0) -
現在のファイバーの親にコンテキストを切り替えます。
... yield メソッドは返します。
@param arg 現在のファイバーの親に渡したいオブジェクトを指定します。
@raise FiberError Fiber でのルートファイバーで呼ばれた場合に発生します。
//emlist[例:][ruby]{
a = nil
f = Fiber.new do
a = Fiber.yield(......)
end
f.resume()
f.resume(:foo)
p a #=> :foo
//}... -
Proc
# yield(*arg) -> () (15201.0) -
手続きオブジェクトを実行してその結果を返します。
...て異なります。
詳しくは Proc#lambda? を参照してください。
「===」は when の所に手続きを渡せるようにするためのものです。
//emlist[例][ruby]{
def sign(n)
case n
when lambda{|n| n > 0} then 1
when lambda{|n| n < 0} then -1
else 0
end
end
p si......ような syntactic sugar もあります。
//emlist[例][ruby]{
fib = lambda{|n|
case n
when 0 then 0
when 1 then 1
else
fib.(n - 2) + fib.(n - 1)
end
}
fib.(10) # => 55
//}
@param arg 手続きオブジェクトに与える引数を指定します。
@raise LocalJumpError Proc... -
Exception
# backtrace _ locations -> [Thread :: Backtrace :: Location] (12406.0) -
バックトレース情報を返します。Exception#backtraceに似ていますが、 Thread::Backtrace::Location の配列を返す点が異なります。
...on#backtraceに似ていますが、
Thread::Backtrace::Location の配列を返す点が異なります。
現状では Exception#set_backtrace によって戻り値が変化する事はあり
ません。
//emlist[例: test.rb][ruby]{
require "date"
def check_long_month(month)
return if Date.n......w(2000, month, -1).day == 31
raise "#{month} is not long month"
end
def get_exception
return begin
yield
rescue => e
e
end
end
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... -
static VALUE rb
_ thread _ yield(VALUE arg , rb _ thread _ t th) (12200.0) -
-
Thread
# thread _ variable _ get(key) -> object | nil (9106.0) -
引数 key で指定した名前のスレッドローカル変数を返します。
...ad#[] でセットしたローカル変数(Fiber ローカル変数)と
異なり、Fiber を切り替えても同じ変数を返す事に注意してください。
例:
Thread.new {
Thread.current.thread_variable_set("foo", "bar") # スレッドローカル
Thread.current["foo"] = "ba......iber.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/0041/0041-200Special-note.html... -
Enumerator
:: Yielder (9000.0) -
Enumerator.new で使われるクラスで、直接使うものではありません。
...Enumerator.new で使われるクラスで、直接使うものではありません。... -
VALUE rb
_ iterate(VALUE (*call _ proc)() , VALUE date1 , VALUE (*block _ proc)() , date2) (6506.0) -
ブロック付きメソッド(イテレータ)呼び出しを行う関数です.
...call_proc(data1) を実行します。そしてその関数か
その直下のメソッドで yield が発生すると以下が実行されます。
block_proc(VALUE block_arg, VALUE data2, VALUE self)
block_arg はブロック引数(複数なら配列に入っている)、
data2 は rb_iterat... -
VALUE rb
_ yield(VALUE val) (6416.0) -
yield の C 版です.val を引数にブロックを実行します. 複数の引数を与えたいときは配列に格納して渡します。
...
yield の C 版です.val を引数にブロックを実行します.
複数の引数を与えたいときは配列に格納して渡します。
この関数を呼び出したメソッドがブロックを伴わない場合は,例外
LocalJumpError が発生します....