^hash::create[]
^hash::create[существующий хеш, или хеш-файл, или пользовательский объект, или файл]
Если параметр не задан, будет создан пустой хеш.
Если указан существующий хеш или другой совместимый с хешем объект, конструктор создает его копию.
Пустой хеш, создаваемый конструктором без параметров, нужен в ситуации, когда необходимо динамически наполнить хеш данными, например:
$dyn[^hash::create[]]
^for[i](1;10){
$dyn.$i[$value]
}
Перед выполнением for мы определили, что именно наполняем.
Если предполагается интенсивная работа по изменению содержимого хеша, но необходимо сохранить, скажем, исходные значения, то это можно сделать, например, так:
$pets[
$.pet[Собака]
$.food[Косточка]
$.good[Ошейник]
]
$pets_copy[^hash::create[$pets]]
Замечание: поле _default копируется.