parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Re: Ответ

andylars 04.06.2016 20:35 / 04.06.2016 20:44

А как иначе?
Должно появится два одноимённых ключа и при этом ничего никуда не должно сдвинуться?
Дак написано же было неоднократно: одноименный старый ключ - утилизируется.
Зачем куда-то что-то сдвигать в примере?
^hash.add(0)[$.KeyC[valueC2]]

0: KeyA:ValueA  ->   0: KeyC:ValueC2 (замена ключа:значеня в index=0) 
1: KeyB:ValueB  ->   1: KeyB:ValueB  (остался на своем месте)
2: KeyC:ValueC  ->   -: утилизирован из пространства имён хеша
Т.е. в конкретном примере, на index=0 - находится KeyA - и мы хотим на его место записать, а по итогу получаем сдвиг.

Конечно, если отойти от конкретного примера, то ясно, что удаленный одноименный старый ключ где-то внутри хеша -> перестроит индекс... но такая вставка для add.. реально путает, вот поэтому replace/insert смотрелись лучше.