summaryrefslogtreecommitdiffhomepage
path: root/mrbgems
diff options
context:
space:
mode:
authortakahashim <[email protected]>2015-11-20 23:39:45 +0900
committertakahashim <[email protected]>2015-11-20 23:39:45 +0900
commit40a9700ef8fee2237e7675ce00063743687953b2 (patch)
treeccab9ccb5265a7bee4c8532664be04f982023515 /mrbgems
parent0e721efe9cbc95fe83e0b511828bc3276809d5bf (diff)
downloadmruby-40a9700ef8fee2237e7675ce00063743687953b2.tar.gz
mruby-40a9700ef8fee2237e7675ce00063743687953b2.zip
support Numeric#zero? and Numeric#nonzero?
Diffstat (limited to 'mrbgems')
-rw-r--r--mrbgems/mruby-numeric-ext/mrblib/numeric_ext.rb12
-rw-r--r--mrbgems/mruby-numeric-ext/test/numeric.rb10
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