pascalabcnet/PABCNetHelp/LangGuide/ProcFunc/variableparams.html

47 lines
1.4 KiB
HTML

<html>
<head>
<object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
<param name="Keyword" value="params">
</object>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title></title>
<link rel="StyleSheet" href="../../default.css">
</head>
<body>
<H1>Ïåðåìåííîå ÷èñëî ïàðàìåòðîâ</H1>
<p>Äëÿ óêàçàíèÿ òîãî, ÷òî ïîäïðîãðàììà äîëæíà èìåòü ïåðåìåííîå ÷èñëî ïàðàìåòðîâ,
èñïîëüçóåòñÿ êëþ÷åâîå ñëîâî <b><code>params</code></b>, çà êîòîðûì ñëåäóåò
îïèñàíèå äèíàìè÷åñêîãî ìàññèâà. Íàïðèìåð:</p>
<blockquote>
<code><b>function</b> Sum(<b>params</b> a: <b>array</b> <b>of</b> integer): integer;
<b><br>
begin</b>
<br>
&nbsp;
Result := 0;
<b><br>
&nbsp; for</b> i: integer := 0 <b>to</b> a.Length <b>do</b>
<br>
&nbsp;&nbsp;&nbsp;
Inc(Result,a[i]);
<b><br>
end;</b></code>
</blockquote>
<p>Ïðè âûçîâå
ïîäïðîãðàììû íà ìåñòå ôîðìàëüíîãî ïàðàìåòðà <b><code>params</code></b>
ìîæåò áûòü ëþáîå íåíóëåâîå êîëè÷åñòâî ôàêòè÷åñêèõ
ïàðàìåòðîâ ñîâìåñòèìîãî òèïà, ïåðå÷èñëÿåìûõ ÷åðåç çàïÿòóþ:</p>
<blockquote>
<p><code><b>var</b> s: integer := Sum(1,2,3,4,5);<br>
s := s + Sum(6,7);</code></p>
</blockquote>
 ñïèñêå ïàðàìåòðîâ êëþ÷åâîå ñëîâî <b> <code>params</code></b>
ìîæåò óêàçûâàòüñÿ òîëüêî äëÿ ïîñëåäíåãî ïàðàìåòðà, ïðè÷åì, ýòîò ïàðàìåòð íå
äîëæåí áûòü ïàðàìåòðîì ïî óìîë÷àíèþ. Ïàðàìåòðû <b><code>params</code></b> âñåãäà ïåðåäàþòñÿ òîëüêî ïî çíà÷åíèþ.
</body>
</html>