コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

Rubyの positive? や negative? は0を含めない

以上ではなく、それより上。そりゃ文字通りなんだけどさネタ。

環境

$ ruby -v
ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin18]

挙動

positive?とnegative? は以下の感じ。

1.positive?
#=> true
-1.positive?
#=> false
0.positive?
#=> false

1.negative?
#=> false
-1.negative?
#=> true
0.negative?
#=> false

Float型も対応しているので、下記のような記述も可能

0.0001.positive?
#=> true
-0.0001.positive?
#=> false
0.000.positive?
#=> false

(あたりまえだが)文字列は未対応

"0".positive?
Traceback (most recent call last):
        2: from /Users/hogehoge/.anyenv/envs/rbenv/versions/2.5.0/bin/irb:11:in `<main>'
        1: from (irb):12
NoMethodError (undefined method `positive?' for "0":String)

参考リンク