diff options
Diffstat (limited to 'mrblib')
| -rw-r--r-- | mrblib/array.rb | 11 | ||||
| -rw-r--r-- | mrblib/hash.rb | 13 |
2 files changed, 19 insertions, 5 deletions
diff --git a/mrblib/array.rb b/mrblib/array.rb index ae0868410..53d880660 100644 --- a/mrblib/array.rb +++ b/mrblib/array.rb @@ -84,8 +84,15 @@ class Array end def _inspect - return "[]" if self.size == 0 - "["+self.map{|x|x.inspect}.join(", ")+"]" + size = self.size + return "[]" if size == 0 + ary=[] + i=0 + while i<size + ary<<self[i].inspect + i+=1 + end + "["+ary.join(", ")+"]" end ## # Return the contents of this array as a string. diff --git a/mrblib/hash.rb b/mrblib/hash.rb index 582cfbc6c..6b61218ff 100644 --- a/mrblib/hash.rb +++ b/mrblib/hash.rb @@ -194,9 +194,16 @@ class Hash # internal method for Hash inspection def _inspect return "{}" if self.size == 0 - "{"+self.map {|k,v| - k._inspect + "=>" + v._inspect - }.join(", ")+"}" + ary=[] + keys=self.keys + size=keys.size + i=0 + while i<size + k=keys[i] + ary<<(k._inspect + "=>" + self[k]._inspect) + i+=1 + end + "{"+ary.join(", ")+"}" end ## # Return the contents of this hash as a string. |
