[#40647] RAA dead link check — "NAKAMURA, Hiroshi" <nakahiro@...>

なひです。

19 messages 2005/03/04
[#40685] Re: RAA dead link check — "NAKAMURA, Hiroshi" <nakahiro@...> 2005/03/20

-----BEGIN PGP SIGNED MESSAGE-----

[ruby-list:40707] Re: 拡張ライブラリでのクラス変数の参照について

From: Macoto Kawaguchi <macoto@...>
Date: 2005-03-23 10:50:04 UTC
List: ruby-list #40707
川口です。


>Ruby の C の拡張ライブラリからクラス変数を参照したいのですが、
>rb_iv_get() を使うと nil を返してきます。
>クラス変数を参照するにはほかの関数があるのでしょうか?
>宜しくお願いします。
(略)

調べたところ、クラス変数を参照するには rb_cv_get() を使うということがわかりました。
しかし、以下のようにソースを修正したところ、

    VALUE val = rb_iv_get(self, "@@val");
       ↓
    VALUE val = rb_cv_get(self, "@@val");

クラス変数が初期化されていない、というエラーが出力されました。
moge.rb:12:in `func': uninitialized class variable @@val in #<Class:0x806c788> (
NameError)

まだ何かおかしいところがありますでしょうか?

In This Thread