るりまサーチ

最速Rubyリファレンスマニュアル検索!
22件ヒット [1-22件を表示] (0.188秒)
トップページ > クエリ:l[x] > クエリ:r[x] > クエリ:v[x] > クエリ:rb_throw[x]

別のキーワード

  1. socket ipv6_v6only
  2. socket ai_v4mapped
  3. socket ai_v4mapped_cfg
  4. _builtin grep_v
  5. etc cs_v6_env

検索結果

void rb_throw(const char *tag, VALUE val) (44400.0)

throw の実体。返り値を val として、 tag を catch したところまでジャンプします。

...throw の実体。返り値を val として、
tag を catch したところまでジャンプします。

r
b_catch も参照してください。...

VALUE rb_catch(const char *tag, VALUE (*proc)(), VALUE data) (6706.0)

catch と同等の動作を実行します。

...proc に、yield された値と data を渡して実行します。
その途中で tag が throw されたら rb_catch 全体を終了します。

throw が発生した場合はその値を返します。
throw が発生しなかったときは proc の返り値を返します。

static VALUE...
..._yield(VALUE a, VALUE b)
{
r
eturn rb_yield(b);
}

static VALUE
foo_catch(VALUE obj)
{
r
eturn rb_catch("footag", foo_yield, INT2FIX(2));
}

static VALUE
foo_abort(VALUE obj)
{
r
eturn rb_throw("footag", Qnil);
}

v
oid
Init_foo(void)
{
V
ALUE Foo = rb_de...
...fine_class("Foo", rb_cObject);
r
b_define_method(Foo, "catch", foo_catch, 0);
r
b_define_method(Foo, "abort", foo_abort, 0);
}...