home *** CD-ROM | disk | FTP | other *** search
/ PC World 1999 August / PCWorld_1999-08_cd.bin / Komunik / pnws / pnws1074.exe / file0068.bin < prev    next >
Encoding:
Text File  |  1999-07-13  |  2.0 KB  |  67 lines

  1. <HTML>
  2. <HEAD>
  3.    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1250">
  4.    <META NAME="GENERATOR" CONTENT="Mozilla/4.02 [en] (Win95; I) [Netscape]">
  5.    <META NAME="Author" CONTENT="Tomas Rosa">
  6.    <TITLE>Podprogramy</TITLE>
  7.  
  8. <!--#include virtual="/perl_header.inc"-->
  9.  
  10. <h3>Vlastnφ funkce v PERLu</h3>
  11.  
  12. Jako ka₧d² programovacφ jazyk, i PERL podporuje definovßnφ vlastnφch
  13. funkcφ. Funkce se definuje kdekoliv v texu a p°i b∞hu programu je prost∞
  14. ignorovßna a₧ do tΘ doby ne₧ je na nφ odkaz. V²hodou PERLu je tekΘ to,
  15. ₧e m∙₧eme volat i funkce, kterΘ jsou definovßny pozd∞ji - odkaz je tedy
  16. blφ₧e zaΦßtku programu, ne₧ definice funkce. PERL se v tom p°φpad∞ podφvß
  17. na zbytek programu aby funkci naÜel. Pokud jφ nenajde hlßsφ chybu. Definice
  18. funkce m∙₧e vypadat nßsledovn∞:</P>
  19.  
  20. <UL>
  21. <UL>
  22. <PRE><B>sub jmΘno
  23. {
  24. </B>  p°φkazy
  25.   .
  26.   p°φkazy
  27. <B>}</B></PRE>
  28. </UL>
  29. </UL>
  30.  
  31. <P>Pokud chceme, aby funkce dostßvala n∞jakΘ parametry, nemusφme nic definovat.
  32. Pouze staΦφ vyu₧φt standartnφ prom∞nΘ <B>$_</B> nebo <B>@_</B>, kterß obsahuje
  33. p°edanΘ parametry jako <I>skalßr</I> nebo jako <I>pole</I>. Pokud je parametr∙
  34. vφce, je nutno pou₧φt <I>pole</I>. Rozbor pole na jednotlivΘ prvky lze
  35. provΘst nßsledovn∞:</P>
  36.  
  37. <UL>
  38. <UL>
  39. <PRE>sub secti
  40. {
  41.  <B>($a,$b) = @_;
  42. </B> return ($a+$b);
  43. }</PRE>
  44. </UL>
  45. </UL>
  46.  
  47. <P>Pokud pou₧φvßme ve funkci n∞jakΘ promn∞nΘ, m∙₧eme je definovat jako
  48. lokßlnφ a to tak, ₧e p°ed n∞ napφÜeme klauzuli <B>my</B>. </P>
  49.  
  50. <UL>
  51. <UL>
  52. <PRE>sub secti
  53. {
  54.  <B>my</B> ($a,$b) = @_;
  55.  return ($a+$b);
  56. }</PRE>
  57. </UL>
  58. </UL>
  59.  
  60. <P>Vlastnφ volßnφ funkce se provßdφ obdobn∞ jako u standartnφch funkcφ
  61. PERLu, avÜak p°ed jmΘno se v₧dy pφÜe znak <B>&</B>. Pokud tento znak
  62. zapomenete, PERL chybu neohlßsφ, ale funkce se nezavolß. Pokud mß funkce
  63. parametry, pφÜeme je do kulat²ch zßvorek za jmΘno a odd∞lujeme Φßrkami.
  64. Test na parametry se neprovßdφ. Je tedy jedno, jestli funkce dostane v∙bec
  65. n∞jakΘ parametry a u₧ ·pln∞ je jedno jakΘho typu.</P>
  66.  
  67. <!--#include virtual="/main_footer.inc"-->