[#37679] [FEATURE:trunk] EncDet again — "Yugui (Yuki Sonoda)" <yugui@...>

Yuguiです。

23 messages 2009/01/03

[#37748] $LOAD_PATHとバージョンの運用の関係 — akira yamada / やまだあきら <akira@...>

1.9系でのバージョンの運用と$LOAD_PATHの値について質問です。

12 messages 2009/01/09
[#37758] Re: $LOAD_PATHとバージョンの運用の関係 — "NARUSE, Yui" <naruse@...> 2009/01/11

成瀬です。

[ruby-dev:37689] Re: [Bug #974] Range#max で終了しないことがある

From: Yukihiro Matsumoto <matz@...>
Date: 2009-01-03 18:14:43 UTC
List: ruby-dev #37689
まつもと ゆきひろです

In message "Re: [ruby-dev:37688] [Bug #974] Range#max 	で終了しないことがある"
    on Sun, 4 Jan 2009 02:05:40 +0900, tadayoshi funaba <redmine@ruby-lang.org> writes:

|以下のようにすると終了しないようです。
|
|$ ./ruby -e 'inf=1.0/0; (0...inf).max'

実装としては

  (b...e)とした場合、eが整数でなければ、bからeまで繰り返して、
  最後に繰り返した(かつeに等しくない)値を返す

という動作をしています。「...」の場合、最大値はeそのものでは
なく、Rangeを繰り返した結果eを越えない最大値なので、確実にわ
かる手段は実際に繰り返すことだからですが、その結果、eに無限大
を指定すると終了しないわけ(いや、いつかは終了するのかな)です。
これはある意味、終了しないのが指定した通りの動作であると言え
ないこともありません。

終了するべきでないとすると、それに合わせて新たな「仕様」を定
義する必要がありますが、どのような仕様が適切か正直よくわかり
ませんね。

  * eがFloatかつ無限であればそれを返す(...の定義に反するような)
  * eがFloatかつ無限であればエラー
  * その他

うーむ。数に関する知識を利用して、より賢い動作をさせてあげた
いものですが。

In This Thread