diff options
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 |
