前田です。 On Mon, 2 Jun 97 14:48:54 JST, Yukihiro Matsumoto <matz / caelum.co.jp> wrote: ||S-Langでバッファが作成された場合は、対応するrubyの ||変数がないわけですから、死んでいるオブジェクトと ||みなされてしまうのでは、と思ったのですが、どうでしょう? | |これはS-Langのバッファからrubyオブジェクトを取り出すことが出 |来ると言うことなんでしょうか? つまりrubyインタプリタは知らな |いが,S-Langからは参照されているからゴミになってはいけない |rubyオブジェクトが存在すると. はい。 S-Langの方でバッファが作成された時にもBufferクラスのオブジェクト を用意しておかないと、$curbuf.tab = 4みたいにできなくなりますので、 すべてのBuffer構造体にBufferクラスのオブジェクトを持たせたわけです。 それで、そのオブジェクトのインスタンス変数が逆にBuffer構造体をラップ していて、rubyオブジェクトからアクセスできるようになっているという 仕組みです。 # ruby-jed-0.01ではS-Langでバッファが作成された場合はinitializeが # 呼ばれないバグがありました。ごめんなさい。 |# embeddingは経験が無いので不親切な部分が多いと思いますが, |# どんどん良くしていけますからかんべんしてください. いえいえ、当初心配していたよりずっと作業は楽でした。 まだ、解決してない問題もあるのですが、手間さえかければ なんとかなると思います。 -- 前田 修吾 <shugo / po.aianet.ne.jp>