Смотрите пример код первым:рубин операция обновления массива
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 обновляются до «а». Но со вторым обновлением обновление 3 элементов до 2 существующих элементов приводит к вставке одного элемента, поэтому увеличение длины массива 1.
Мой вопрос в том, почему первое обновление не приводит к вставке элемента? Каково правило?
Я знаю это. Но почему после второго обновления вставлен один элемент? – TieDad