diff options
| author | takahashim <[email protected]> | 2015-11-20 23:39:45 +0900 |
|---|---|---|
| committer | takahashim <[email protected]> | 2015-11-20 23:39:45 +0900 |
| commit | 40a9700ef8fee2237e7675ce00063743687953b2 (patch) | |
| tree | ccab9ccb5265a7bee4c8532664be04f982023515 | |
| parent | 0e721efe9cbc95fe83e0b511828bc3276809d5bf (diff) | |
| download | mruby-40a9700ef8fee2237e7675ce00063743687953b2.tar.gz mruby-40a9700ef8fee2237e7675ce00063743687953b2.zip | |
support Numeric#zero? and Numeric#nonzero?
| -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 |
