|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Andrey Sapozhnikov 2:5020/400 25 Mar 2002 22:47:22 To : Nikolay Pichtin Subject : Re: вызов ф-ии --------------------------------------------------------------------------------
Nikolay Pichtin wrote:
> Добренький вечерок Andrey !
>
> >> чем отличается вызов функции как &subname и subname()?
>
> AS> perldoc perlsub
>
> AS> А вкратце, при первом варианте вызова не происходит
> AS> проверка аргументов на соответствие прототипам, происходит
> AS> передача текущего @_ в функцию и функция не ищется в CORE::
>
> AS> Обычно использование первого варианта явно указывает на
> AS> то, что человек не умеет писать на Перл. Исключения бывают,
> AS> но крайне редко.
>
> Hаверно ты зря так говоришь.
> Hапример, Matt Kruse и ряд других используют
> именно первый вариант или &subname($val1,$val2)
> и при этом не считаются неумеющими писать на Perl.
О Matt Kruse разговор особый. Он не просто не умеет писать на
Perl, он насаждает свою безграмотность десяткам тысяч новичков
которых потом будет очень трудно переучить. За такое судить бы
надо. Так что не выбирайте его образцом для подражания.
Читаем perldoc perlsub:
Not only does the "&" form make the argument list
optional, it also disables any prototype checking on arguЅ
ments you do provide. This is partly for historical reaЅ
sons, and partly for having a convenient way to cheat if
you know what you're doing. See the Prototypes manpage
below.
Т.е. присутствует с историческими целями и для хитрых трюков,
если вы точно знаете что делаете. Matt - не знает. Он просто
очень грязно пишет, наверное у него в голове такой же бардак.
А историческими причинами его писанину не оправдать. Perl5
вышел почти 8 лет назад. А когда 6 лет назад вышел 5.002 -
появились прототипы. С тех пор было время, чтобы одуматься.
Андрей
--- ifmail v.2.15dev5
* Origin: Demos online service (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/52843e68c14c.html, оценка из 5, голосов 10
|