parser

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

 

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

Вопрос немного не в этом

moko 22.10 15:20

Этой возможностью (разряженностью) можно не пользоваться, но она делает массив полностью совместимым с хешом с числовыми индексами.
Суть в том, что можно просто заменить хеш на массив (а например при парсинге json такая замена будет происходить по умолчанию) и никак не менять код, результат исполнения будет таким же.
$h[ $.1[v1] $.3[v3] $.5[v5] ]
$a[ ^array::copy[$h] ]
$b[ ^array::copy[$h] ]

^h.delete[3]
^a.delete(3)
^b.remove(3)

h ^json:string[$h;]
a ^json:string[$a; $.array[object]]
b ^json:string[$b; $.array[object]]
Ниже результат исполнения, как видно после remove меняются индексы элементов -> потеря совместимости.
h {
"1":"v1",
"5":"v5"
}
a {
"1":"v1",
"5":"v5"
}
b {
"1":"v1",
"4":"v5"
}
И да, для полной совместимости добавлю возможность ^a.delete[3], забыл об этом. И что касается remove, пока cut мне кажется оптимальным названием.