Actions
Feature #5523
closedNumeric#sign の追加
Description
負の零なども含め正しく符号を判断するために必要です。実際、complex や
lib/cmath.rb などの中ではこのような判断が必要ですが、標準では提供されて
いないため、不自然なものになっています。
値は-1か+1のいずれかになります。
Updated by hasari (Hiro Asari) almost 13 years 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) almost 13 years 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) almost 13 years ago
#2968 の重複なので閉じます
Updated by mrkn (Kenta Murata) over 12 years ago
- Status changed from Open to Closed
Actions
Like0
Like0Like0Like0Like0