Issue #2968 has been updated by Kenta M…
#5523 でも Numeric#sign が提案されてますね。
positive? や negative? は複素数に対応できないという #5513 でのまつもとさんの意見は確かに尤もだと思いました。
分かってないのは Complex#sign の挙動です。どう動けば良いんですかね?
Feature #2968: 数値の正負を返すメソッド
Author: Yui NARUSE
Status: Assigned
Priority: Normal
Assignee: 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