summaryrefslogtreecommitdiffhomepage
path: root/mrblib/compar.rb
diff options
context:
space:
mode:
authorYukihiro Matsumoto <[email protected]>2012-05-09 22:06:16 +0900
committerYukihiro Matsumoto <[email protected]>2012-05-09 22:06:16 +0900
commit6a0c30d038172a238eb22ef259d835123cb117c9 (patch)
treed8a01678d651048ead9931d6d72be0f0c89465cd /mrblib/compar.rb
parentdb96db6a8079f8e578acaa77890ddcb49de9fc7d (diff)
downloadmruby-6a0c30d038172a238eb22ef259d835123cb117c9.tar.gz
mruby-6a0c30d038172a238eb22ef259d835123cb117c9.zip
move body of Comparison from compar.c to compar.rb
Diffstat (limited to 'mrblib/compar.rb')
-rw-r--r--mrblib/compar.rb121
1 files changed, 63 insertions, 58 deletions
diff --git a/mrblib/compar.rb b/mrblib/compar.rb
index 974ad5036..3badf57de 100644
--- a/mrblib/compar.rb
+++ b/mrblib/compar.rb
@@ -1,63 +1,68 @@
-### move to compar.c
-# module Comparable
- # def == other
- # cmp = self <=> other
- # if cmp == 0
- # true
- # else
- # false
- # end
- # end
+module Comparable
+ # 15.3.3.2.1
+ def < other
+ cmp = self <=> other
+ if cmp.nil?
+ false
+ elsif cmp < 0
+ true
+ else
+ false
+ end
+ end
- # def < other
- # cmp = self <=> other
- # if cmp.nil?
- # false
- # elsif cmp < 0
- # true
- # else
- # false
- # end
- # end
+ # 15.3.3.2.2
+ def <= other
+ cmp = self <=> other
+ if cmp.nil?
+ false
+ elsif cmp <= 0
+ true
+ else
+ false
+ end
+ end
- # def <= other
- # cmp = self <=> other
- # if cmp.nil?
- # false
- # elsif cmp <= 0
- # true
- # else
- # false
- # end
- # end
+ # 15.3.3.2.3
+ def == other
+ cmp = self <=> other
+ if cmp == 0
+ true
+ else
+ false
+ end
+ end
- # def > other
- # cmp = self <=> other
- # if cmp.nil?
- # false
- # elsif cmp > 0
- # true
- # else
- # false
- # end
- # end
+ # 15.3.3.2.4
+ def > other
+ cmp = self <=> other
+ if cmp.nil?
+ false
+ elsif cmp > 0
+ true
+ else
+ false
+ end
+ end
- # def >= other
- # cmp = self <=> other
- # if cmp.nil?
- # false
- # elsif cmp >= 0
- # true
- # else
- # false
- # end
- # end
+ # 15.3.3.2.5
+ def >= other
+ cmp = self <=> other
+ if cmp.nil?
+ false
+ elsif cmp >= 0
+ true
+ else
+ false
+ end
+ end
- # def between?(min,max)
- # if self < min or self > max
- # false
- # else
- # true
- # end
- # end
-# end
+ # 15.3.3.2.6
+ def between?(min,max)
+ if self < min or self > max
+ false
+ else
+ true
+ end
+ end
+end