Project

General

Profile

Actions

Feature #5523

closed

Numeric#sign の追加

Added by tadf (tadayoshi funaba) about 13 years ago. Updated over 12 years ago.

Status:
Closed
Assignee:
-
Target version:
[ruby-dev:44722]

Description

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

値は-1か+1のいずれかになります。


Related issues 1 (0 open1 closed)

Is duplicate of Ruby master - Feature #2968: 数値の正負を返すメソッドRejectedmrkn (Kenta Murata)Actions

Updated by hasari (Hiro Asari) about 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) about 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) about 13 years ago

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

Updated by mrkn (Kenta Murata) over 12 years ago

  • Status changed from Open to Closed
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0