summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--mrblib/array.rb11
-rw-r--r--mrblib/hash.rb13
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.