Bug #914
Integer#upto(NaN)
| Status: | Rejected | Start date: | 12/21/2008 | |
|---|---|---|---|---|
| Priority: | Normal | Due date: | ||
| Assignee: | % Done: | 0% |
||
| Category: | core | |||
| Target version: | 1.9.1 Release Candidate | |||
| ruby -v: |
Description
upto(NaN) や downto(NaN) で実質的に無限ループになるようで面白いのですが、 これは意図した動作といえるのでしょうか。
History
Updated by Yuki Sonoda about 3 years ago
- Category set to core
- Assignee set to Yukihiro Matsumoto
- Target version set to 1.9.1 Release Candidate
Updated by Yukihiro Matsumoto about 3 years ago
まつもと ゆきひろです In message "Re: [ruby-dev:37525] [Bug #914] Integer#upto(NaN)" on Sun, 21 Dec 2008 16:04:10 +0900, tadayoshi funaba <redmine@ruby-lang.org> writes: |upto(NaN) や downto(NaN) で実質的に無限ループになるようで面白いのですが、 |これは意図した動作といえるのでしょうか。 NaNはすべての比較に対して偽を返しますから、それに基づくと意 図した動作と言えるのではないでしょうか。 別案としてはNaNを含む比較を例外にするという方法もありますが、 かなり挙動が違うので躊躇します。
Updated by Yukihiro Matsumoto about 3 years ago
- Status changed from Open to Rejected
開発ミーティングで直接話しましたが、未来で「超実数(Yugui談)」とかについて考える気があるそうなので、現時点では放置とします。 超実数と言われても私には何がなんだか。
Updated by tadayoshi funaba about 3 years ago
> |upto(NaN) や downto(NaN) で実質的に無限ループになるようで面白いのですが、 > |これは意図した動作といえるのでしょうか。 > > NaNはすべての比較に対して偽を返しますから、それに基づくと意 > 図した動作と言えるのではないでしょうか。 それは仕様でなくて実装の話ですよね。別の実装であれば、逆に一度も回らな かったかもしれないですよね。実際、step(NaN) はそのように見えます。 現時点では結果は未定義でもいいのかもしれませんけど。
Updated by Yukihiro Matsumoto about 3 years ago
まつもと ゆきひろです In message "Re: [ruby-dev:37549] Re: [Bug #914] Integer#upto(NaN)" on Mon, 22 Dec 2008 21:11:41 +0900, Tadayoshi Funaba <tadf@dotrb.org> writes: |> NaNはすべての比較に対して偽を返しますから、それに基づくと意 |> 図した動作と言えるのではないでしょうか。 | |それは仕様でなくて実装の話ですよね。別の実装であれば、逆に一度も回らな |かったかもしれないですよね。実際、step(NaN) はそのように見えます。 |現時点では結果は未定義でもいいのかもしれませんけど。 仕様という観点からは未定義ですね。いずれにしても今回は手をつ けませんので、バグとしてはrejectの方向で。