README.EXT ドキュメント (Ruby プラットフォーム ソースに付属) ではrb_define_variable
、C ポインターを受け取り、VALUE
それを Ruby グローバル変数に "接続" することに言及しているため、Ruby ランドから変数を読み書きすると、指定されたメモリ内の場所。
しかし、少し違うものが必要です。C ランドから、Ruby 内で定義および初期化されたグローバル変数にアクセスしたいのです。定義されているすべてのグローバル変数をリストする必要はありません。名前を指定してグローバル変数の値にアクセスしたいだけで、C 側からアクセスしたいのです。
他のすべてが失敗した場合、rb_eval_string
(Ruby と同じeval
) を使用できることはわかっていますが、もっと良い方法があるはずです!