Исправлена ошибка for step Дополнена справка по for step и foreach index J,yjdkty ntrcnjdsq htlfrnjh? gjlcdtxbdf.obq ыеуз b штвуч rjyntrcnyj d hfvrf[ jlyjq cnhjrb
87 lines
3.3 KiB
HTML
87 lines
3.3 KiB
HTML
<html>
|
|
|
|
<head>
|
|
<object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
|
<param name="Keyword" value="foreach">
|
|
<param name="Keyword" value="in">
|
|
<param name="Keyword" value="index">
|
|
</object>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
|
|
<title></title>
|
|
<link rel="StyleSheet" href="../../default.css">
|
|
</head>
|
|
|
|
<body>
|
|
<H1>Îïåðàòîð öèêëà foreach</H1>
|
|
<p>Îïåðàòîð öèêëà <code><b>foreach</b></code> èìååò îäíó èç ñëåäóþùèõ
|
|
ôîðì:</p>
|
|
<blockquote>
|
|
<p><code><b>foreach</b> </code><code class="codeit">ïåðåìåííàÿ</code><code>
|
|
<b>in</b> </code><code class="codeit">êîíòåéíåð</code><code> <b>[index </b>
|
|
<em>ïåðåìåííàÿ</em><strong>]</strong> <b>do</b><br>
|
|
</code><code class="codeit">îïåðàòîð</code></p>
|
|
</blockquote>
|
|
<p>èëè</p>
|
|
<blockquote>
|
|
<p><code><b>foreach</b> </code><code class="codeit">ïåðåìåííàÿ</code><code>:</code><code class="codeit">
|
|
òèï</code><code> <b>in</b> </code><code class="codeit">êîíòåéíåð</code><code>
|
|
<b>[index </b><em>ïåðåìåííàÿ</em><strong>]</strong>
|
|
<b>do</b><br>
|
|
</code><code class="codeit">îïåðàòîð</code></p>
|
|
</blockquote>
|
|
<p>èëè</p>
|
|
<blockquote>
|
|
<p><code><b>foreach</b> <strong>var</strong> </code><code class="codeit">ïåðåìåííàÿ</code><code> <b>in</b> </code><code class="codeit">êîíòåéíåð</code><code>
|
|
<b>[index </b><em>ïåðåìåííàÿ</em><strong>]</strong>
|
|
<b>do</b><br>
|
|
</code><code class="codeit">îïåðàòîð</code></p>
|
|
</blockquote>
|
|
<p> êà÷åñòâå êîíòåéíåðà ìîæåò ôèãóðèðîâàòü äèíàìè÷åñêèé ìàññèâ,
|
|
ñòðîêà, ìíîæåñòâî, à òàêæå ëþáîé êîíòåéíåð, óäîâëåòâîðÿþùèé èíòåðôåéñó
|
|
<code>IEnumerable</code> èëè
|
|
<code>IEnumerable<T></code>(íàïðèìåð, <code>List<T></code>,
|
|
<code>Dictionary<Key,Value></code> è ò.ä.). Ïåðåìåííàÿ öèêëà
|
|
äîëæíà èìåòü òèï, <strong>ñîâïàäàþùèé</strong> ñ òèïîì ýëåìåíòîâ êîíòåéíåðà
|
|
(åñëè êîíòåéíåð óäîâëåòâîðÿåò èíòåðôåéñó
|
|
<code>IEnumerable</code>, òî ýòî òèï <code>object</code>). Â ïîñëåäíåé ôîðìå
|
|
<code><strong>foreach</strong></code> òèï ïåðåìåííîé öèêëà àâòîâûâîäèòñÿ ïî òèïó ýëåìåíòîâ
|
|
êîíòåéíåðà.</p>
|
|
<p>Íåîáÿçàòåëüíàÿ ÷àñòü <code>
|
|
<b>index </b><em>ïåðåìåííàÿ</em></code> ââîäèò ïåðåìåííóþ, êîòîðàÿ õðàíèò íà
|
|
êàæäîé èòåðàöèè èíäåêñ ýëåìåíòà êîíòåéíåðà (ýëåìåíòû èíäåêñèðóþòñÿ ñ íóëÿ).</p>
|
|
<p>Ïåðåìåííàÿ öèêëà ïðîáåãàåò âñå
|
|
çíà÷åíèÿ ýëåìåíòîâ êîíòåéíåðà è äëÿ êàæäîãî çíà÷åíèÿ ïåðåìåííîé
|
|
öèêëà âûïîëíÿåòñÿ òåëî öèêëà. Èçìåíåíèå ïåðåìåííîé öèêëà
|
|
âíóòðè òåëà öèêëà íå ìåíÿåò ýëåìåíòû êîíòåéíåðà, ò.å. îíè äîñòóïíû òîëüêî íà
|
|
÷òåíèå.</p>
|
|
<p>Íàïðèìåð:</p>
|
|
<blockquote>
|
|
<p><code><b>var</b> <br>
|
|
ss: <b>set of</b> string := ['Èâàíîâ','Ïåòðîâ','Ñèäîðîâ'];<b><br>
|
|
</b> a: <b>array of</b> integer := (3,4,5);<br>
|
|
b: <b>array</b> [1..5] <b>of</b> integer := (1,3,5,7,9);<br>
|
|
l := new List<real>;<br>
|
|
<b>begin<br>
|
|
|
|
foreach</b> s: string <b>in</b> ss <b>do</b><br>
|
|
write(s,' ');<br>
|
|
writeln;<br>
|
|
<b>
|
|
foreach</b> x: integer <b>in</b> a <b>do</b><br>
|
|
write(x,' ');<br>
|
|
writeln;<br>
|
|
<b>
|
|
foreach</b> <strong>var </strong>x <b>in</b> b <b>do</b><br>
|
|
write(x,' ');<br>
|
|
writeln;<br>
|
|
<b>
|
|
foreach</b> <strong>var</strong> r <b>in</b> l <b>do</b><br>
|
|
write(r,' ');<br>
|
|
<b>end</b>.<br>
|
|
</code></p>
|
|
</blockquote>
|
|
<p> </p>
|
|
</body>
|
|
|
|
</html>
|