diff options
| -rw-r--r-- | mrblib/array.rb | 12 | ||||
| -rw-r--r-- | mrblib/enum.rb | 5 |
2 files changed, 15 insertions, 2 deletions
diff --git a/mrblib/array.rb b/mrblib/array.rb index aa50ac181..8c81d80f1 100644 --- a/mrblib/array.rb +++ b/mrblib/array.rb @@ -97,6 +97,18 @@ class Array ret end end + + # internal method to convert multi-value to single value + def __to_svalue + case self.size + when 0 + return nil + when 1 + self[0] + else + self + end + end end ## diff --git a/mrblib/enum.rb b/mrblib/enum.rb index 53f2119b0..1e78e39cc 100644 --- a/mrblib/enum.rb +++ b/mrblib/enum.rb @@ -129,8 +129,9 @@ module Enumerable # ISO 15.3.2.2.6 def entries ary = [] - self.each{|val| - ary.push val + self.each{|*val| + # __to_svalue is an internal method + ary.push val.__to_svalue } ary end |
