T.Shimomuraです。

On Fri, 18 Aug 2000 17:35:36 +0900
Shugo Maeda <shugo / ruby-lang.org> wrote:

> 前田です。

ご返事、どうもありがとうございます。

> > rb_eval_string_protect() の status には、TAG_RAISE が入っています。
> > が、どこをどう直せばいいのか、皆目見当がつきません。
> 
> TAG_RAISEは例外が発生したということです。
> 
> extern VALUE ruby_errinfo;
> 
> MessageBox( NULL , RSTRING(rb_inspect(ruby_errinfo))->ptr , NULL , MB_OK );
> 
> のようにして、例外の情報を見れば何かわかるのではないでしょうか?

上記をそのまま取り入れて、やってみました。
すると、「-1064955137」というメッセージが表示されました。

アドレスをそのまま数値として表示してしまったのかと思い、デバッガでも
確かめてみましたが、-1064955137 は間違いなく文字列として入っています。
本来はエラーメッセージが入るんじゃないかと想像するのですが・・・

ところで、rb_inspect() 関数や、その他の関数の使い方など、Ruby を
組み込むための知識って、みなさんどのようにして勉強していらっしゃる
のでしょうか?

私は、Ruby本の9章と、ruby のソースに付属する readme.ext.jp を
参考にしています。

しかし、Jed/Ruby や RubyWin のソースなどを覗いてみると、
みなさん実にいろいろな関数を使いこなしているようです。

Ruby のソースを私が読みこなすにはそれなりの時間がかかりそうですが、
他に方法はないんでしょうかねぇ・・・
-- 
redbug / netlife.gr.jp
http://www.netlife.gr.jp/