Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
moko 22.10.2024 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 мне кажется оптимальным названием.