るりまサーチ

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

別のキーワード

  1. mkmf install_rb
  2. kernel install_rb
  3. rb_throw
  4. rb_f_throw
  5. rb_true

検索結果

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

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

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

rb_catch も参照してください。...

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

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

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

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

t
hrow が発生した場合はその値を返します。
t
hrow が発生しなかったとき...
...す。

static VALUE
foo_yield(VALUE a, VALUE b)
{
return rb_yield(b);
}

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

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

void
Init_foo(void)...
...{
VALUE Foo = rb_define_class("Foo", rb_cObject);
rb_define_method(Foo, "catch", foo_catch, 0);
rb_define_method(Foo, "abort", foo_abort, 0);
}...