[#20525] [BigDecimal] changing rule of coerce — "Tadashi Saito" <shiba@...2.accsnet.ne.jp>

斎藤です。

44 messages 2003/07/07
[#20527] Re: [BigDecimal] changing rule of coerce — "Shigeo Kobayashi" <shigeo@...> 2003/07/07

小林です。

[#20528] Re: [BigDecimal] changing rule of coerce — matz@... (Yukihiro Matsumoto) 2003/07/07

まつもと ゆきひろです

[#20570] Marshal upgrade — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

41 messages 2003/07/09
[#20575] Re: Marshal upgrade — Masatoshi SEKI <m_seki@...> 2003/07/09

咳といいます。

[#20583] Re: Marshal upgrade — matz@... (Yukihiro Matsumoto) 2003/07/09

まつもと ゆきひろです

[#21016] Re: Marshal upgrade — matz@... (Yukihiro Matsumoto) 2003/07/30

まつもと ゆきひろです

[#20804] add library — nobu.nakada@... 2003/07/23

なかだです。

[#20580] add library(Re:ruby-dev:20570) — たむらけんいち <sgs02516@...>

たむらです。

30 messages 2003/07/09
[#20656] Re: add library — "NAKAMURA, Hiroshi" <nakahiro@...> 2003/07/14

なひです。

[#20658] Re: add library — GOTOU Yuuzou <gotoyuzo@...> 2003/07/14

In message <038d01c349cb$eaad71d0$93222fc0@sarion.co.jp>,

[#20659] Re: add library — matz@... (Yukihiro Matsumoto) 2003/07/14

まつもと ゆきひろです

[#20660] Re: add library — GOTOU Yuuzou <gotoyuzo@...> 2003/07/14

In message <1058171960.400840.10041.nullmailer@picachu.netlab.jp>,

[#20661] Re: add library — Takahiro Kambe <taca@...> 2003/07/14

話をそらしてしまうかもしれませんが、

[#20665] Re: add library — GOTOU Yuuzou <gotoyuzo@...> 2003/07/14

In message <20030714.183104.09092354.taca@back-street.net>,

[#20666] Re: add library — Takahiro Kambe <taca@...> 2003/07/14

In message <20030715.013655.424936247.gotoyuzo@kotetsu.does.notwork.org>

[#20668] Re: add library — GOTOU Yuuzou <gotoyuzo@...> 2003/07/14

In message <20030715.025907.26217115.taca@back-street.net>,

[#20750] Re: add library — Takahiro Kambe <taca@...> 2003/07/21

In message <20030715.051853.968499478.gotoyuzo@kotetsu.does.notwork.org>

[#20751] Re: add library — GOTOU Yuuzou <gotoyuzo@...> 2003/07/21

In message <20030721.163444.09092937.taca@back-street.net>,

[#20655] frozen ThreadGroup — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

26 messages 2003/07/14
[#20671] Re: frozen ThreadGroup — matz@... (Yukihiro Matsumoto) 2003/07/14

まつもと ゆきひろです

[#20673] Re: frozen ThreadGroup — Hidetoshi NAGAI <nagai@...> 2003/07/15

永井@知能.九工大です.

[#20676] Re: frozen ThreadGroup — matz@... (Yukihiro Matsumoto) 2003/07/15

まつもと ゆきひろです

[#20677] Re: frozen ThreadGroup — Hidetoshi NAGAI <nagai@...> 2003/07/15

永井@知能.九工大です.

[#20681] Re: frozen ThreadGroup — matz@... (Yukihiro Matsumoto) 2003/07/15

まつもと ゆきひろです

[#20690] portable(?) UserID/GroupID control (Re: frozen ThreadGroup) — Hidetoshi NAGAI <nagai@...> 2003/07/16

永井@知能.九工大です.

[#20712] Re: portable(?) UserID/GroupID control — Hidetoshi NAGAI <nagai@...> 2003/07/17

永井@知能.九工大です.

[#20735] Re: portable(?) UserID/GroupID control — matz@... (Yukihiro Matsumoto) 2003/07/20

まつもと ゆきひろです

[#20736] Re: portable(?) UserID/GroupID control — Hidetoshi NAGAI <nagai@...> 2003/07/20

永井@知能.九工大です.

[#20737] Re: portable(?) UserID/GroupID control — matz@... (Yukihiro Matsumoto) 2003/07/20

まつもと ゆきひろです

[#20748] [BigDecimal] exception handling — "Tadashi Saito" <shiba@...2.accsnet.ne.jp>

斎藤です。

20 messages 2003/07/21

[#20765] Re: [ruby-cvs] ruby/lib: * lib/tmpdir.rb: new library to get temporary directory path, — WATANABE Hirofumi <eban@...>

わたなべです。

9 messages 2003/07/21

[#20780] complex.rb — Masahiro TANAKA <masa@...>

complex.rb についての修正案を[ruby-math:00543]で提案しましたが、その後

25 messages 2003/07/22
[#20782] Re: complex.rb — matz@... (Yukihiro Matsumoto) 2003/07/22

まつもと ゆきひろです

[#20900] Re: complex.rb — Masahiro TANAKA <masa@...> 2003/07/25

At Tue, 22 Jul 2003 17:30:31 +0900, Yukihiro Matsumoto wrote:

[#20905] Re: complex.rb — matz@... (Yukihiro Matsumoto) 2003/07/25

まつもと ゆきひろです

[#20906] Re: complex.rb — keiju@... (石塚圭樹) 2003/07/25

けいじゅ@いしつかです.

[#20810] Rational 始めました。 — Shin-ichiro HARA <sinara@...>

原です。

13 messages 2003/07/23
[#20876] Re: Rational 始めました。 — keiju@... (石塚圭樹) 2003/07/24

けいじゅ@いしつかです.

[#20954] ruby 1.8.0 preview5 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

15 messages 2003/07/28

[#20957] [BigDecimal] conflict between Numeric#div and BigDecimal#div — "Tadashi Saito" <shiba@...2.accsnet.ne.jp>

斎藤です。

29 messages 2003/07/28
[#20960] Re: [BigDecimal] conflict between Numeric#div and BigDecimal#div — Masahiro TANAKA <masa@...> 2003/07/28

At Mon, 28 Jul 2003 18:26:20 +0900, Tadashi Saito wrote:

[#20962] Re: [BigDecimal] conflict between Numeric#div and BigDecimal#div — matz@... (Yukihiro Matsumoto) 2003/07/28

まつもと ゆきひろです

[#20990] Re: [BigDecimal] conflict between Numeric#div and BigDecimal#div — Masahiro TANAKA <masa@...> 2003/07/29

At Mon, 28 Jul 2003 21:16:08 +0900, Yukihiro Matsumoto wrote:

[#20992] Re: [BigDecimal] conflict between Numeric#div and BigDecimal#div — matz@... (Yukihiro Matsumoto) 2003/07/29

まつもと ゆきひろです

[ruby-dev:20763] Re: [BigDecimal] new: necessity of 2nd argument

From: "Tadashi Saito" <shiba@...2.accsnet.ne.jp>
Date: 2003-07-21 16:05:50 UTC
List: ruby-dev #20763
斎藤です。

----- Original Message ----- 
From: "Shigeo Kobayashi" <shigeo@tinyforest.gr.jp>
Sent: Monday, July 21, 2003 11:20 PM
Subject: [ruby-dev:20758] Re: [BigDecimal] new: necessity of 2nd argument

> > BigDecimal.new("3.14", 10) という時の第二引数について、
> > 存在意義が良く分かりません。
> これは、将来のための予約とでも考えて下さい。
> 今は、あまり意味を持たないです。
>   ==> ってドキュメントに入れるべきでした。

ええと、それならば、その「将来」まで削除しておくべきではないでしょうか。

省略可の引数とはいえ、意味を持たないインターフェースをわざわざ
提供する必要もないでしょうし、ユーザの混乱の元にもなり得ます。
一般論としては、インターフェースは必要最小限に抑えるもの、
という理解しています。

どちらにせよドキュメント中の例からは、第二引数を用いたものは
削除すべきかと思います。

また将来、第二引数を扱う機能を追加するときにも、現在のように
省略可能にすれば互換性は保たれるので「予約」は意味を持たないように
思えますが、どうでしょうか。


Index: bigdecimal.c
===================================================================
RCS file: /src/ruby/ext/bigdecimal/bigdecimal.c,v
retrieving revision 1.10
diff -u -r1.10 bigdecimal.c
--- bigdecimal.c        18 Jul 2003 15:23:23 -0000      1.10
+++ bigdecimal.c        21 Jul 2003 15:40:46 -0000
@@ -1141,40 +1141,24 @@
 }

 static VALUE
-BigDecimal_global_new(int argc, VALUE *argv, VALUE self)
+BigDecimal_global_new(VALUE self, VALUE iniValue)
 {
     ENTER(5);
     Real *pv;
-    S_LONG mf;
-    VALUE  nFig;
-    VALUE  iniValue;

-    if(rb_scan_args(argc,argv,"11",&iniValue,&nFig)==1) {
-        mf = 0;
-    } else {
-        mf = GetPositiveInt(nFig);
-    }
     SafeStringValue(iniValue);
-    GUARD_OBJ(pv,VpCreateRbObject(mf, RSTRING(iniValue)->ptr));
+    GUARD_OBJ(pv,VpCreateRbObject(0, RSTRING(iniValue)->ptr));
     return ToValue(pv);
 }

 static VALUE
-BigDecimal_new(int argc, VALUE *argv, VALUE self)
+BigDecimal_new(VALUE self, VALUE iniValue)
 {
     ENTER(5);
     Real *pv;
-    S_LONG mf;
-    VALUE  nFig;
-    VALUE  iniValue;

-    if(rb_scan_args(argc,argv,"11",&iniValue,&nFig)==1) {
-        mf = 0;
-    } else {
-        mf = GetPositiveInt(nFig);
-    }
     SafeStringValue(iniValue);
-    GUARD_OBJ(pv,VpNewRbClass(mf, RSTRING(iniValue)->ptr,self));
+    GUARD_OBJ(pv,VpNewRbClass(0, RSTRING(iniValue)->ptr,self));
     return ToValue(pv);
 }

@@ -1370,11 +1354,11 @@
     rb_cBigDecimal = rb_define_class("BigDecimal",rb_cNumeric);

     /* Global function */
-    rb_define_global_function("BigDecimal", BigDecimal_global_new, -1);
+    rb_define_global_function("BigDecimal", BigDecimal_global_new, 1);

     /* Class methods */
     rb_define_singleton_method(rb_cBigDecimal, "mode", BigDecimal_mode, 2);
-    rb_define_singleton_method(rb_cBigDecimal, "new", BigDecimal_new, -1);
+    rb_define_singleton_method(rb_cBigDecimal, "new", BigDecimal_new, 1);
     rb_define_singleton_method(rb_cBigDecimal, "limit",
BigDecimal_limit, -1);
     rb_define_singleton_method(rb_cBigDecimal, "double_fig",
BigDecimal_double_fig, 0);
     rb_define_singleton_method(rb_cBigDecimal, "induced_from",
BigDecimal_induced_from, 1);
Index: bigdecimal_en.html
===================================================================
RCS file: /src/ruby/ext/bigdecimal/bigdecimal_en.html,v
retrieving revision 1.5
diff -u -r1.5 bigdecimal_en.html
--- bigdecimal_en.html  18 Jul 2003 15:23:23 -0000      1.5
+++ bigdecimal_en.html  21 Jul 2003 15:40:46 -0000
@@ -81,7 +81,7 @@
 <CODE><PRE>
    require 'bigdecimal'
    a=BigDecimal::new("0.123456789123456789")
-   b=BigDecimal("123456.78912345678",40)
+   b=BigDecimal("123456.78912345678")
    c=a+b
 </PRE></CODE>

Index: bigdecimal_ja.html
===================================================================
RCS file: /src/ruby/ext/bigdecimal/bigdecimal_ja.html,v
retrieving revision 1.5
diff -u -r1.5 bigdecimal_ja.html
--- bigdecimal_ja.html  18 Jul 2003 15:23:23 -0000      1.5
+++ bigdecimal_ja.html  21 Jul 2003 15:40:46 -0000
@@ -84,7 +84,7 @@
 <PRE>
 require 'bigdecimal'
 a=BigDecimal::new("0.123456789123456789")
-b=BigDecimal("123456.78912345678",40)
+b=BigDecimal("123456.78912345678")
 c=a+b
 </PRE>
 </CODE>

--
斎藤ただし


In This Thread