diff options
| author | Yukihiro Matsumoto <[email protected]> | 2012-05-09 22:06:16 +0900 |
|---|---|---|
| committer | Yukihiro Matsumoto <[email protected]> | 2012-05-09 22:06:16 +0900 |
| commit | 6a0c30d038172a238eb22ef259d835123cb117c9 (patch) | |
| tree | d8a01678d651048ead9931d6d72be0f0c89465cd /mrblib/compar.rb | |
| parent | db96db6a8079f8e578acaa77890ddcb49de9fc7d (diff) | |
| download | mruby-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.rb | 121 |
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 |
