所以我遇到的问题是理解和之间的= self
区别= self dup
。当我在我放入的任何数组下面运行代码时,它都会被永久更改。
class Array
def pad(min_size, value = nil)
input = self
counter = min_size.to_i - self.length.to_i
counter.times do
input.push(value)
end
input
end
end
但后来我注意到,如果我把它放上去input = self.dup
,它不会永久改变我的数组。有人可以解释为什么吗?谢谢!
class Array
def pad(min_size, value = nil)
input = self.dup
counter = min_size.to_i - self.length.to_i
counter.times do
input.push(value)
end
input
end
end