細かい話で恐縮ですが、プログラムを読んでいて
どうも気になるので教えてください。
eval.cのruby_run()関数の中の変数exは、
初期化(= 0)が必要なのでは?
(実際には問題が起きてなくても)
exは何のために必要なのでしょうか。
ruby_run()を二回以上呼び出すことが
想定されているのでしょうか。
void
ruby_run()
{
int state;
static int ex;
volatile NODE *tmp;
if (ruby_nerrs > 0) exit(ruby_nerrs);
Init_stack(&tmp);
PUSH_TAG(PROT_NONE);
PUSH_ITER(ITER_NOT);
if ((state = EXEC_TAG()) == 0) {
eval_node(ruby_top_self, ruby_eval_tree);
}
POP_ITER();
POP_TAG();
if (state && !ex) ex = state;
ruby_stop(ex);
}
---
小迫@ソフネック 渋谷区恵比寿1-15-1