|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Paul Kulchenko 2:5020/400 28 Aug 2000 23:23:51 To : All Subject : Re: function() или &function() ? -------------------------------------------------------------------------------- Hi Michael! Michael Samanov wrote: > zzr> А чем отличается > zzr> вызов функции с амперсандом &function() от вызова без него: function() ? > Hу, скажем, с амперсандом use strict не должон ругаться, если > скобки не ставить. Потом, работа со ссылками: Почти с точностью до наоборот. Амперсанд можно HЕ СТАВИТЬ если скобки есть. Если же есть амперсанд, то скобки обязательны при наличии хотя бы одного параметра. > или вот такая вестчь типа import: > *{"${callpack}::$sym"} = \&{"$def\:\:$sym"}; Это ссылка на функцию и никакого отношения к ВЫЗОВУ не имеет. Реально отличия в вызове с амперсандом и без состоят в том, что вызов &func; делает текущее значение @_ видимым в вызванной процедуре. Кроме того, использование амперсанда ИГHОРИРУЕТ всякое наличие прототипов для данной функции (сделано для совместимости). Best wishes, Paul. --- ifmail v.2.15dev5 * Origin: Trans World Airlines (TWA) (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/35556eba037d.html, оценка из 5, голосов 10
|