先看示例代码:
arr = [4, 5, 6]
arr[2] = ["a","b","c"] # First Update
print arr.join(","), ", len=", arr.length, "\n"
print arr[2] ,"\n"
arr[0..1] = [7,"h","b"] # Second Update
print arr.join(","), ", len=", arr.length, "\n"
输出是:
4,5,a,b,c, len=3
abc
7,h,b,a,b,c, len=4
第一次更新时,只有元素 2 更新为“abc”。但是随着第二次更新,将 3 个元素更新为 2 个现有元素会导致插入一个元素,因此数组长度增加 1。
我的问题是为什么第一次更新不会导致元素插入?有什么规律?