From: Tadashi Saito Date: 2003-07-08T00:26:05+09:00 Subject: [ruby-dev:20533] Re: [BigDecimal] changing rule of coerce 斎藤です。とりあえずこちらから。 ----- Original Message ----- From: "石塚圭樹" Sent: Monday, July 07, 2003 7:34 PM Subject: [ruby-dev:20530] Re: [BigDecimal] changing rule of coerce > けいじゅ@いしつかです. どうもはじめまして。いつも(ライブラリの)お世話になっています (^^) > d2 = d * BigDecimal("5.6789") > > なら, agreeable ではないかしら? 他の数関係クラスもにたようなインターフェ > イスはあります. 以下のようなものの事でしょうか? 自分もあっていいと思います。 Index: bigdecimal.c =================================================================== RCS file: /src/ruby/ext/bigdecimal/bigdecimal.c,v retrieving revision 1.9 diff -u -p -r1.9 bigdecimal.c --- bigdecimal.c 1 Jul 2003 14:14:18 -0000 1.9 +++ bigdecimal.c 7 Jul 2003 15:17:06 -0000 @@ -1359,6 +1359,9 @@ Init_bigdecimal(void) /* Class and method registration */ rb_cBigDecimal = rb_define_class("BigDecimal",rb_cNumeric); + /* Global function */ + rb_define_global_function("BigDecimal", BigDecimal_new, -1); + /* Class methods */ rb_define_singleton_method(rb_cBigDecimal, "mode", BigDecimal_mode, 2); rb_define_singleton_method(rb_cBigDecimal, "new", BigDecimal_new, -1); …と書いたのですが、自分は拡張ライブラリに対する理解がぜんぜん 足りていないらしいです。上の通りに修正すると % ruby -rbigdecimal -e 'p BigDecimal("1")' -e:1: [BUG] Segmentation fault ruby 1.8.0 (2003-07-07) [i686-linux] となってしまいました…。 (インスタンスの生成だけなら平気なのですが、何か メソッドを呼ぼうとするとこうなります) --- 斎藤ただし