108件ヒット
[1-100件を表示]
(0.018秒)
別のキーワード
キーワード
-
catch
_ i (12) -
jump
_ tag _ but _ local _ jump (12) -
new
_ blktag (12) -
rb
_ catch (12) -
rb
_ f _ catch (12) -
rb
_ jump _ tag (12) -
rb
_ longjmp (12) -
rb
_ protect (12) -
rb
_ throw (12)
検索結果
先頭5件
-
void rb
_ jump _ tag(int tag) (6207.0) -
初出: 4064
...初出: 4064
rb_load_protect,rb_eval_string_protect,rb_protect
などで捕捉した大域脱出を再生成します。
tagには上記関数の引数で受け取ったstateを指定します。... -
static struct BLOCKTAG * new
_ blktag(void) (6201.0) -
-
static void jump
_ tag _ but _ local _ jump(int state) (6101.0) -
-
void rb
_ throw(const char *tag , VALUE val) (117.0) -
throw の実体。返り値を val として、 tag を catch したところまでジャンプします。
...throw の実体。返り値を val として、
tag を catch したところまでジャンプします。
rb_catch も参照してください。... -
VALUE rb
_ catch(const char *tag , VALUE (*proc)() , VALUE data) (107.0) -
catch と同等の動作を実行します。
...catch と同等の動作を実行します。
まず proc に、yield された値と data を渡して実行します。
その途中で tag が throw されたら rb_catch 全体を終了します。
throw が発生した場合はその値を返します。
throw が発生しなかったとき......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);... -
static VALUE catch
_ i(ID tag) (101.0) -
-
static VALUE rb
_ f _ catch(VALUE dmy , VALUE tag) (101.0) -
-
static void rb
_ longjmp(int tag , VALUE mesg) (101.0) -
-
VALUE rb
_ protect(VALUE (*proc)() , VALUE data , int *state) (7.0) -
初出: 4064
...初出: 4064
proc(data) を評価中のあらゆる大域脱出(例外を含む)を捕捉します。
val = rb_protect(func, arg, &status);
if (status != 0) {
puts("大域脱出が起きた");
rb_jump_tag(status);
}...