From: tadayoshi funaba Date: 2011-10-31T21:55:33+09:00 Subject: [ruby-dev:44729] [ruby-trunk - Feature #5523] Numeric#sign の追加 Issue #5523 has been updated by tadayoshi funaba. 負の零を見分けるのが主眼になっているので、0 も 1 になる事を考えています。 複素数はエラーを考えています。 Common Lisp の signum は複素数にも値を返しますが、これはちょっと望んで いるのと違いますね。 class Numeric def signum if self.zero? self else self / self.abs end end end ---------------------------------------- Feature #5523: Numeric#sign の追加 http://redmine.ruby-lang.org/issues/5523 Author: tadayoshi funaba Status: Open Priority: Normal Assignee: Category: core Target version: 2.0 負の零なども含め正しく符号を判断するために必要です。実際、complex や lib/cmath.rb などの中ではこのような判断が必要ですが、標準では提供されて いないため、不自然なものになっています。 値は-1か+1のいずれかになります。 -- http://redmine.ruby-lang.org