[#17017] 標準添付案 — Kazuhiro NISHIYAMA <zn@...>

西山和広です。

21 messages 2002/05/08
[#17019] Re: 標準添付案 — "Akinori MUSHA" <knu@...> 2002/05/08

At Wed, 8 May 2002 19:50:17 +0900,

[#17021] Re: 標準添付案 — GOTO Kentaro <gotoken@...> 2002/05/08

At Wed, 8 May 2002 22:45:06 +0900,

[#17031] double acosh — WATANABE Hirofumi <eban@...>

わたなべです。

25 messages 2002/05/10
[#17032] Re: double acosh — nobu.nakada@... 2002/05/10

なかだです。

[#17033] Re: double acosh — WATANABE Hirofumi <eban@...> 2002/05/10

わたなべです。

[#17036] Re: double acosh — matz@... (Yukihiro Matsumoto) 2002/05/10

まつもと ゆきひろです

[#17039] Re: double acosh — WATANABE Hirofumi <eban@...> 2002/05/10

わたなべです。

[#17134] argv[0] — Tanaka Akira <akr@...17n.org>

ふと ruby インタプリタの C における argv[0] を知りたくなったんですが、

23 messages 2002/05/18
[#17139] Re: argv[0] — matz@... (Yukihiro Matsumoto) 2002/05/18

まつもと ゆきひろです

[#17144] Re: msvcrt — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

18 messages 2002/05/19

[#17179] コマンドラインオプションの順序制約 — Kazuhiro NISHIYAMA <zn@...>

西山和広です。

13 messages 2002/05/22
[#17181] Re: コマンドラインオプションの順序制約 — matz@... (Yukihiro Matsumoto) 2002/05/22

まつもと ゆきひろです

[#17228] Re: [ruby-list:35305] Re: ((1.2)..(3.4)).to_a — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

28 messages 2002/05/30

[ruby-dev:17228] Re: [ruby-list:35305] Re: ((1.2)..(3.4)).to_a

From: matz@... (Yukihiro Matsumoto)
Date: 2002-05-30 05:44:57 UTC
List: ruby-dev #17228
まつもと ゆきひろです

ruby-devに移動します。

In message "[ruby-list:35305] Re: ((1.2)..(3.4)).to_a"
    on 02/05/29, "Shin'ya Adzumi" <adzumi@denpa.org> writes:

|Numeric#succ はちょっと…なのですが、とりあえずそれは置いてお
|いて。succ が単に + で定義できるのであれば、Range#each の中で、
|
|  * succ があれば n 回 succ を呼ぶ
|  * succ がなければ +n する
|
|というのでも良いんじゃないかなと思いました。まあ、String#+ は
|呼ばれてはまずいんですけど(String#succ があるから大丈夫?)。

ちょっと考えてみました。で、結局問題があるのは

  member?, include?
  step, eachおよびeachを元にしたEnumerableメソッド

であることがわかりました。そこで、

  * member?, include?

    Numericであるか、succが定義されていなければ範囲によるチェッ
    クを行う。succが定義されていれば繰り返してみてその要素が
    あるかないかをチェック。

  * step, eachおよびeachを元にしたEnumerableメソッド

    eachはsuccが定義されていなければTypeError例外(だから
    Float のRangeには使えない。これにより全部のEnumerableメ
    ソッドは要素がsuccを持つ必要がある。

    stepはNumericならstepを毎回+する(Floatでは誤差が蓄積する
    が、ここでは無視)。それ以外ならsuccを使って定義する。

という定義にします。1.7では一時的にTime#succを(秒単位で)定義
していましたが、これはなくします。

これでNumericであるかないか、succ があるかないかで、連続区間
と不連続区間の両方の役を果たせるように思います。

こんなものでどうでしょう? 

                                まつもと ゆきひろ /:|)

In This Thread

Prev Next