[#38322] irbsh を動かしたい — Shin-ichiro HARA <sinara@...>
原です。
8 messages
2003/09/01
[#38326] Re: irbsh を動かしたい
— rubikitch <rubikitch@...>
2003/09/01
From: Shin-ichiro HARA <sinara@blade.nagaokaut.ac.jp>
[#38336] bug? ($. in Ruby 1.8.0) — Takeshi Horinouchi <horinout@...>
堀之内と申します。
4 messages
2003/09/02
[#38341] String#reverse! のバグ? — Kazuhiko <kazuhiko@...>
かずひこです。
11 messages
2003/09/03
[#38342] Re: String#reverse! のバグ?
— matz@... (Yukihiro Matsumoto)
2003/09/03
まつもと ゆきひろです
[#38373] 正規表現オブジェクトについて — masao hamada <bunhamad@...>
8 messages
2003/09/07
[#38383] Ruby-GNOME2-0.7.0 — Masao Mutoh <mutoh@...>
むとうです。
6 messages
2003/09/07
[#38404] rnoizanmdig lteter odrer(randomizing letter order) — HASHIMUKAI Toshikatsu <hashi@...>
spamみたいなsubjectですいません。
5 messages
2003/09/17
[#38425] [ANN] 本を出しました — 堀川 久 <vzw00011@...>
こんにちは。
12 messages
2003/09/24
[#38426] Re: [ANN] 本を出しました
— matz@... (Yukihiro Matsumoto)
2003/09/24
まつもと ゆきひろです
[#38428] whenの評価の順序 — URA Takefumi <hage@...>
浦です。
8 messages
2003/09/25
[ruby-list:38417] Re: モジュール内で別のモジュールのオブジェクトを返すには?
From:
Koji Arai <JCA02266@...>
Date:
2003-09-21 16:39:51 UTC
List:
ruby-list #38417
新井です。
In message "[ruby-list:38416] モジュール内で別のモジュールのオブジェクトを返すには?"
on 21 Sep 2003 23:59:40 +0900,
EMOTO Masahiko <emo@nifs.ac.jp> wrote:
>
> 現在 C 言語でクラスを作成しています。
>
> クラス Foo とクラス Bar があって、クラス
> Bar 内のメソッド foobar() の戻り値として
> Foo のオブジェクトを新たに作って返したい
> のですがうまく動きません。
foo.c の get_Foo() を以下のようにすると直りませんか?
# 結局 get_Foo() という関数自体がいらないわけですが
VALUE
get_Foo ()
{
return rb_const_get(rb_cObject, rb_intern("Foo"));
}
私もよくわからないのですが、元の
VALUE
get_Foo ()
{
return cFoo;
}
だと、load 直後に cFoo の内容が書き変わってうまくいかないようです。
最初 rb_global_variable(&cFoo) してないからだと思ったのです
がそうでもないようで、init_foo() と get_Foo() の二箇所で、
printf("&cFoo=%x\n",&cFoo);
を実行すると結果が変わってました。
Init_bar
Init_foo
cFoo=1075595140
&cFoo=4001b298 <- init_foo() のとき
new_Bar
initialize_Bar
createFoo
&cFoo=40018298 <- get_foo() のとき
new_Foo
klass=0
ruby スクリプトで
require 'foo' # <- これをいれる
require 'bar'
p Bar.new.createFoo
としても問題は再現しないようです。シェアドライブラリからシェ
アドライブラリをロードするときに何かあるのでした?
環境:
ruby 1.6.8 (2003-08-03) [i586-linux]
gcc version 3.3.2 20030908 (Debian prerelease)
--
新井康司 (Koji Arai)