Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Perl: Общие вопросы > Допускается ли такое использование |
Автор: AlexanderI 29.5.2008, 11:44 | ||
Допускается ли такое использование ? Если у этого какие-то недостатки ?
|
Автор: ginnie 29.5.2008, 11:46 |
Я бы не допустил ![]() AlexanderI, не могли бы Вы пояснить смысл такого написания? |
Автор: AlexanderI 29.5.2008, 11:53 | ||||
Просто у меня есть большой файл где: --------------------
-------------------- Теперь появилась необходимость передовать в $test значения через shift. т.е. вот так
|
Автор: shamber 29.5.2008, 11:55 |
AlexanderI, что то вы совсем путано пишите. Вам что нужно одну переменную всем передавать? Вообщем не понятно зачем так извращаться |
Автор: ginnie 29.5.2008, 11:58 |
Понятнее не стало. Можно еще поподробнее? В функциях yyy1..4 надо видеть значение $test, присвоенное в xxx или что? |
Автор: shamber 29.5.2008, 12:01 | ||||
может вместо этого
написать нечто такое
хотя можно и лучше написать |
Автор: ginnie 29.5.2008, 14:24 | ||||||||||
Уважаемый amg, в связи с Вашим высказыванием
возник вопрос
|
Автор: shamber 29.5.2008, 14:43 |
Уважаемый ginnie, мне кажется amg говорил о функции ![]() и она действительно доступна из любого места программы. о переменных не было ни слова |
Автор: ginnie 29.5.2008, 14:55 |
Уважаемый shamber, меня смутила фраза "Для перла не имеет значения, в каком месте кода определена функция". Я ее трактовал по своему, поэтому и привел пример зависимости результатов от места определения функции. А с тем, что функция вызовется вне зависимости от места ее определения в package (в скрипте их может быть несколько ![]() |
Автор: yura_nev 29.5.2008, 16:12 | ||||
Стоит обратить внимание, что в случае
|
Автор: sir_nuf_nuf 29.5.2008, 16:37 | ||||
Ага, кстати очень интересное замыкание. Оно создается тогда когда создается функция, т.е. на этапе компиляции, а вот переменные лексического окружения для такого замыкания инициализируется при первом вызове внешней функции:
выведет
|
Автор: ginnie 29.5.2008, 17:03 | ||||
Уважаемый yura_nev, похоже на замыкание, но есть нюанс ![]()
подробности можно посмотреть в статье http://www.perl.com/pub/a/2002/05/07/mod_perl.html |
Автор: ginnie 29.5.2008, 17:23 | ||||
Уважаемый sir_nuf_nuf, там все немного сложнее ![]() ![]()
это у меня на компьютере что-то не так, или у Вас тоже воспроизведется? |
Автор: shamber 30.5.2008, 08:31 | ||
|
Автор: ginnie 30.5.2008, 10:44 |
Кто-нибудь мне может объяснить, почему этот код так работает? |