Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
G_Z 15.10 17:59 / 15.10 18:00
Кажется, что можно отказаться от new, а create позволить получать несколько аргументов.$h1[$.1[a] $.2[b]] $h2[$.1[c] $.2[d]] $a[^array::create[$h1](3;4)[$h2]] # ["a", "b", 3, 4, "c", "d"]А если нужно получить именно вложенные массивы, то используем явный append:
$h1[$.1[a] $.2[b]] $h2[$.1[c] $.2[d]] $a[^array::create[]] ^a.append[$h1] ^a.append(3;4) ^a.append[$h2] # [["a", "b"], 3, 4, ["c", "d"]]Так можно будет использовать create как для копирования, так и для компактного создания массивов с нестроками:
$a[^array::create[a;b](3;4)[c;d]] # ["a", "b", 3, 4, "c", "d"]Возможно, вторая задача частая, в этом случае для неё можно завести отдельный конструктор a-la copy, который не будет сливать объекты, а помещать всё в надмассив.
$h1[$.1[a] $.2[b]] $h2[$.1[c] $.2[d]] $a[^array::copy[$h1](3;4)[$h2]] # [["a", "b"], 3, 4, ["c", "d"]]