create. Создание пустого и копирование хеша

^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 копируется. [3.1.4]


User comments:

Janek 15.04.2010 18:55

Внимание
^hash::create[существующий хеш или хешфайл]
"конструктор создает его копию" со ссылками на существующий хеш.
Это нет вполне независимая копя хеша.

подробности:
http://www.parser.ru/forum/?id=10626


In order to add comments you must register.
Copyright © 1997–2017 Art. Lebedev Studio | http://www.artlebedev.ru Дата обновления: 25.04.2017