diff options
| -rw-r--r-- | mrbgems/mruby-numeric-ext/mrblib/numeric_ext.rb | 12 | ||||
| -rw-r--r-- | mrbgems/mruby-numeric-ext/test/numeric.rb | 10 |
2 files changed, 22 insertions, 0 deletions
diff --git a/mrbgems/mruby-numeric-ext/mrblib/numeric_ext.rb b/mrbgems/mruby-numeric-ext/mrblib/numeric_ext.rb index dfc6ba87c..0bf3c6ab6 100644 --- a/mrbgems/mruby-numeric-ext/mrblib/numeric_ext.rb +++ b/mrbgems/mruby-numeric-ext/mrblib/numeric_ext.rb @@ -2,4 +2,16 @@ module Integral def div(other) self.divmod(other)[0] end + + def zero? + self == 0 + end + + def nonzero? + if self == 0 + nil + else + self + end + end end diff --git a/mrbgems/mruby-numeric-ext/test/numeric.rb b/mrbgems/mruby-numeric-ext/test/numeric.rb index 96644da69..8bead2489 100644 --- a/mrbgems/mruby-numeric-ext/test/numeric.rb +++ b/mrbgems/mruby-numeric-ext/test/numeric.rb @@ -16,3 +16,13 @@ end assert('Float#div') do assert_float 52, 365.2425.div(7) end + +assert('Integer#zero?') do + assert_equal true, 0.zero? + assert_equal false, 1.zero? +end + +assert('Integer#nonzero?') do + assert_equal nil, 0.nonzero? + assert_equal 1000, 1000.nonzero? +end |
