parser

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

 

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

копирование объектов. баг или фича

egr 21.12.2004 14:53 / 21.12.2004 14:54

Не пойму баг это или фича, такой код:
@main[]
$d1[^date::create(2004;12;21)]
d1: ^d1.unix-timestamp[]<p/>
$d2[$d1]
^d2.roll[month](+2)
d1: ^d1.unix-timestamp[]<br/>
d2: ^d2.unix-timestamp[]
меняет объект d1 при изменении объекта d2, выводя:

d1: 1103576400

d1: 1108933200
d2: 1108933200

понятно что работает передача объекта по ссылке и получается что две переменные указывают на одно и то же. Такие штуки приводят к снижению читабельности и увеличению труднообнаруживаемых ошибок. Я потратил 1.5 часа пока понял в чем проблема :(.