[ruby-trunk - Feature #2968] 数値の正負を返すメソッド

Issue #2968 has been updated by hasari (Hiro A.).

#5523 でも触れましたが Complex#sign は z/|z| を返すのが数学的に一番よろしいかと思います。ふなばさんは #5523
では「複素数はエラーを考えています。」と仰っています。

Feature #2968: 数値の正負を返すメソッド

Author: naruse (Yui NARUSE)
Status: Assigned
Priority: Normal
Assignee: mrkn (Kenta M.)
Category: core
Target version:

=begin
数値の正負を返すメソッドが欲しいです。
主たる想定用途は 0.0 と -0.0 を区別したいときです。
これは、0.0 > -0.0 や 0.0 == -0.0 では知ることができません。
とりあえず flo.to_s[0] == ?- で知ることができますが、これではあんまりです。

悩みどころはいつもの通りメソッド名ですが、

  • Numeric#positive? と Numeric#negative?
  • Numeric#sign → 負で -1、正で 1
  • Numeric#sign? → 負で true, 正で false (signbit(3) に習う)
    あたりでしょうか。

いかがでしょう。
=end