Project

General

Profile

Actions

Bug #914

closed

Integer#upto(NaN)

Added by tadf (tadayoshi funaba) over 15 years ago. Updated almost 13 years ago.

Status:
Rejected
ruby -v:
Backport:
[ruby-dev:37525]

Description

=begin
upto(NaN) や downto(NaN) で実質的に無限ループになるようで面白いのですが、
これは意図した動作といえるのでしょうか。
=end

Actions #1

Updated by yugui (Yuki Sonoda) over 15 years ago

  • Category set to core
  • Assignee set to matz (Yukihiro Matsumoto)
  • Target version set to 1.9.1 Release Candidate

=begin

=end

Actions #2

Updated by matz (Yukihiro Matsumoto) over 15 years ago

=begin
まつもと ゆきひろです

In message "Re: [ruby-dev:37525] [Bug #914] Integer#upto(NaN)"
on Sun, 21 Dec 2008 16:04:10 +0900, tadayoshi funaba writes:

|upto(NaN) や downto(NaN) で実質的に無限ループになるようで面白いのですが、
|これは意図した動作といえるのでしょうか。

NaNはすべての比較に対して偽を返しますから、それに基づくと意
図した動作と言えるのではないでしょうか。

別案としてはNaNを含む比較を例外にするという方法もありますが、
かなり挙動が違うので躊躇します。

=end

Actions #3

Updated by matz (Yukihiro Matsumoto) over 15 years ago

  • Status changed from Open to Rejected

=begin
開発ミーティングで直接話しましたが、未来で「超実数(Yugui談)」とかについて考える気があるそうなので、現時点では放置とします。
超実数と言われても私には何がなんだか。

=end

Actions #4

Updated by tadf (tadayoshi funaba) over 15 years ago

=begin

|upto(NaN) や downto(NaN) で実質的に無限ループになるようで面白いのですが、
|これは意図した動作といえるのでしょうか。

NaNはすべての比較に対して偽を返しますから、それに基づくと意
図した動作と言えるのではないでしょうか。

それは仕様でなくて実装の話ですよね。別の実装であれば、逆に一度も回らな
かったかもしれないですよね。実際、step(NaN) はそのように見えます。
現時点では結果は未定義でもいいのかもしれませんけど。

=end

Actions #5

Updated by matz (Yukihiro Matsumoto) over 15 years ago

=begin
まつもと ゆきひろです

In message "Re: [ruby-dev:37549] Re: [Bug #914] Integer#upto(NaN)"
on Mon, 22 Dec 2008 21:11:41 +0900, Tadayoshi Funaba writes:

|> NaNはすべての比較に対して偽を返しますから、それに基づくと意
|> 図した動作と言えるのではないでしょうか。
|
|それは仕様でなくて実装の話ですよね。別の実装であれば、逆に一度も回らな
|かったかもしれないですよね。実際、step(NaN) はそのように見えます。
|現時点では結果は未定義でもいいのかもしれませんけど。

仕様という観点からは未定義ですね。いずれにしても今回は手をつ
けませんので、バグとしてはrejectの方向で。

=end

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0