Вообще говоря, так можно, да... Правда после этого пропадает вообще вся лаконичность записи и тогда уж лучше перехватывать те 3 опа, о которых было сказано выше. То есть такая запись выглядит еще хуже, чем определение хеша и навешивание магии "потом", ИМХО.
>Вторник, 21 июня 2016, 10:22 +03:00 от Гришаев Анатолий <[email protected]>: > >1) Что типа: > a) $var = deep_hash_magic( q => $w, ... ) > b) $var = deep_array_magic( $w0, $w1, ... ) > c) Если нужны многоуровневые хэши, то включаем рекурсию > dhm( q=> dhm(r1=> $w1, q2=> $w2) ) > d) можно делать перехват синтаксического вызова процедуры и >проанализировать аргументы во время компиляции этого вызова, заменить их на >свои и > наблюдать счастье, если конечно есть "железные" яйца. > > >20 июня 2016 г., 17:52 пользователь [email protected] < [email protected] > >написал: >>1) А запись для Хеша можно показать?... >>$var = { >> q => 'w' >>}; >>magic($var->{q}); >> >>2) Это не то )) >> >>3) Сахар. Синтаксический сахар. Исключительно чтобы можно писать >>$var = magic(...); >> >> >>>Понедельник, 20 июня 2016, 17:35 +03:00 от Гришаев Анатолий < >>>[email protected] >: >>> >>> >>>Дико не понятно, что собственно хочется: >>> >>>Я иногда делаю так: >>>1) magic( $var = 1) >>>2) tie $var, tied($some_other_var)->clone() >>>3) А зачем нам вообще магию копировать? >>> >>>20 июня 2016 г., 15:52 пользователь Vansevich Evgeniy < [email protected] > >>>написал: >>>>Коль, а ты можешь рассказать про оригинальную постановку задачи? просто >>>>задача звучит так, что перехват опов будет проще чем любой другой путь) >>>> >>>> >>>> >>>>Отправлено с Mi Phone >>>>" [email protected] " < [email protected] > | От: 20 июня 2016 г. 15:04 | >>>>Сообщение: >>>>>Может кто уже реализовывал... >>>>> >>>>>Итак... Есть магия. PERL_MAGIC_ext У нее перебит svt_get. В текущей >>>>>реализации задается магия через >>>>>$var = 1; >>>>>magic($var); >>>>> >>>>>Это неудобно. Хочется так: $var = magic(); Но так не работает, так как >>>>>svt_get должна сделать sv_setsv на магическую переменную. И потом в >>>>>sassign ее скопируют без магии. Вернее не так... Если туда передать другую >>>>>магическую переменную, то на ней опять-таки позовется svt_get и будет >>>>>бесконечный цикл. >>>>> >>>>>Можно, конечно, перехватить sassign, anonhash, anonarray но кто знает - >>>>>какие еще опы надо перехватывать и это уже совсем из области черной магии. >>>>> >>>>>Может быть кто-то сталкивался с похожей задачей копирования магии?.. >>>>> >>>>> >>>>>-- >>>>>Nick unnoun >>>>-- >>>>Moscow.pm mailing list >>>>[email protected] | http://moscow.pm.org >>>> >>> >>>-- >>>Moscow.pm mailing list >>>[email protected] | http://moscow.pm.org >> >> >>-- >>Moscow.pm mailing list >>[email protected] | http://moscow.pm.org >> > >-- >Moscow.pm mailing list >[email protected] | http://moscow.pm.org
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
