Feature #5523

Numeric#sign の追加

Added by tadf (tadayoshi funaba) 7 months ago. Updated about 1 month ago.

[ruby-dev:44722]
Status:Closed Start date:10/31/2011
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:core
Target version:3.0

Description

負の零なども含め正しく符号を判断するために必要です。実際、complex や lib/cmath.rb などの中ではこのような判断が必要ですが、標準では提供されて いないため、不自然なものになっています。 値は-1か+1のいずれかになります。

Related issues

duplicates ruby-trunk - Feature #2968: 数値の正負を返すメソッド Assigned 03/16/2010

History

Updated by hasari (Hiro Asari) 7 months ago

0 については勿論 0 を返すのですよね。 http://ja.wikipedia.org/wiki/%E7%AC%A6%E5%8F%B7%E9%96%A2%E6%95%B0 複素数についてはどうですか。一般には z/|z| となる訳ですが、これを返すのでしょうか。 あと、#sgn も alias としてあった方が良いかと思います。

Updated by tadf (tadayoshi funaba) 7 months ago

負の零を見分けるのが主眼になっているので、0 も 1 になる事を考えています。 複素数はエラーを考えています。 Common Lisp の signum は複素数にも値を返しますが、これはちょっと望んで いるのと違いますね。 class Numeric def signum if self.zero? self else self / self.abs end end end

Updated by naruse (Yui NARUSE) 7 months ago

#2968 の重複なので閉じます

Updated by mrkn (Kenta Murata) about 1 month ago

  • Status changed from Open to Closed

Also available in: Atom PDF