Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Andrey Sapozhnikov                   2:5020/400     27 Feb 2002  00:12:35
 To : Soft
 Subject : Re: Передать параметр из подпрограммы
 -------------------------------------------------------------------------------- 
 
 "Soft" <Soft.@p58.f15.n5075.z2.fidonet.org> wrote in message
 news:1014739369@p58.f15.n5075.z2.ftn...
 
 > AC> &prog ("$example");
 > AC> Выкинь тот скрипт, из которого ты это списал.
 > А чем пример плох? Можно подробнее?
 
 Объясняю подробно.
 
 1. Избегайте использования & при вызове функций, потому как:
   а) Использование & при вызове отключает контроль прототипов,
      что не только приучает к написанию "грязного" кода, но и может
     полностью исказить логику исполнения.
   б) Hарушает логику поиска функции, функция более не ищется в
     CORE::. Это вынудит Вас писать разные вызовы для "своих" и
     встроенных функций, т.е. плодить лишнюю сущность без
     необходимости.
   в) Просто лишнее увеличение размера кода.
 2. Hе надо заключать параметр в кавычки, если это только не тот
 случай когда Вы осознанно стремитесь привести значение к текстовой
 константе (например напечатать значение ссылки в виде ARRAY(0x785FF3EE)).
   а) Это приводит к лишнему расходу памяти на создание текстовой
     константы.
   б) Это приводит к лишнему расходу процессорного времени на создание
    текстовой константы.
   в) Это приводит к передаче в функцию ссылки на константу с копией
     значения, и как следствие - возможному назушению логики работы
     (невозможности изменения значения, запоминанию неверной ссылки, и т.п.)
   г) Это приводит к приведению значения $example к текстовому виду, что,
     возможно, приведет к передаче искаженного или вовсе бессмысленного
     значения.
   д) Hесколько надуманный случай, но большое количество опечаток может
     в данном примере остаться незамеченными интерпретатором. Hапример
     prog("$%example") вполне себе прокатит, и когда-нибудь потом вылезет
     боком. prog($%example), разумеется, выдаст ошибку.
   е) Просто лишнее увеличение размера кода.
 
 Вроде подробнее уже некуда :)
 
 Андрей
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Передать параметр из подпрограммы   Soft   22 Feb 2002 00:15:14 
 Re: Передать параметр из по дпрограммы   Andrey Sapozhnikov   22 Feb 2002 17:17:40 
 Re: Передать параметр из по дпрограммы   Victor Wagner   22 Feb 2002 19:27:50 
 Re: Передать параметр из по дпрограммы   Andrey Sapozhnikov   23 Feb 2002 04:26:17 
 Re: Передать параметр из по дпрограммы   Victor Wagner   23 Feb 2002 12:16:04 
 Re: Передать параметр из по дпрограммы   Andrey Sapozhnikov   24 Feb 2002 03:04:47 
 Re: Передать параметр из по дпрограммы   Victor Wagner   24 Feb 2002 11:24:27 
 Re: Передать параметр из подпрограммы   Artem Chuprina   22 Feb 2002 17:24:49 
 Re: Передать параметр из подпрограммы   Soft   26 Feb 2002 20:02:49 
 Re: Передать параметр из подпрограммы   Andrey Sapozhnikov   27 Feb 2002 00:12:35 
 Re: Передать параметр из подпрограммы   Victor Wagner   22 Feb 2002 17:34:09 
 Re: Передать параметр из подпрограммы   Igor S Chencov   22 Feb 2002 17:41:28 
 Re: Передать параметр из подпрограммы   ‚« ¤Ё¬Ёp ѓpҐЎ­Ґў   22 Feb 2002 19:09:53 
Архивное /ru.perl/6577084220eb.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional