или здесь: https://www.youtube.com/watch?v=2wxL3DYen5g
чт, 29 нояб. 2018 г. в 13:14, Alessandro Gorohovski <[email protected] >: > чт, 29 нояб. 2018 г. в 13:06, Andrei <[email protected]>: > >> Всё верно. >> >> По шагам: >> >> delete $a{11}{21,24}{31} >> >> 1. Сначала ищется элемент $a{11}. Он есть, и он ссылка на хэш. >> 2. Дальше в это подхэше ищется элемент $a{11}{21,24}. Список (21,24) >> преобразуется в строку "21$;24". Такого элемента не находится, поэтому >> из-за autovivification, включённого по умолчанию, этот элемент создаётся и >> его значение устанавливается в undef. >> 3. Далее ищется элемент $a{11}{21,24}{31}. Его нет, поэтому >> значением $a{11}{21,24} становится ссылка на хэш, в котором снова >> из-за autovivification создаётся элемент с ключом 31 и значением undef. >> 4. И только после этого delete удаляет только что созданные элемент и >> возвращает его значение undef. >> >> Элемент, созданный на шаге 2, никуда не девается, вот он там и сидит, >> память занимает, программистов пугает. >> :) >> > > Да, Андрей, это всё верно вы представили/объяснили > :) > Подобную ситуацию пожалуйста посмотрите тут: > https://www.youtube.com/watch?v=ZIig5fgp7nY > >
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
