parser

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

 

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

у .add и .union разный функционал

Misha v.3 04.10.2004 20:47

^a.add[$b]
если в хеше $a и в хеше $b есть элементы с одинаковым ключем, то после выполнения операции в результате будет значение которое было в хеше $a.

^a.union[$b]
если в хеше $a и в хеше $b есть элементы с одинаковым ключем, то после выполнения операции в результате будет значение которое было в хеше $b.

для решения задачи я воспользовался бы немного иным алгоритмом (надеюсь что не ошибся):
# в $common будут те элементы хеша из oldHash которые есть в $newHash
$commonHash[^oldHash.intersection[$newHash]]
# а теперь перезапишем в $newHash новые записи старыми
^newHash.add[$commonHash]

# P.S. это можно записать в одну строку, упразднив $commonHash :)
P.S. в документации ошибка, формат .add не менялся :)