39 lines
2 KiB
HTML
39 lines
2 KiB
HTML
<html>
|
||
|
||
<head>
|
||
<object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e">
|
||
</object>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
|
||
<title></title>
|
||
<link rel="StyleSheet" href="../../default.css">
|
||
</head>
|
||
|
||
<body>
|
||
<H1>Обобщенные подпрограммы <span lang="ru">в качестве параметров</span></H1>
|
||
<p>Обобщенн<span lang="ru">ая </span>подпрограмм<span lang="ru">а может
|
||
выступать в качестве формального параметра другой обобщенной подпрограммы.
|
||
</span>
|
||
</p>
|
||
<p>Например, <span lang="ru">в классе </span><code>System.Array</code>
|
||
<span lang="ru">имеется несколько статических обобщенных методов с обобщенными
|
||
подпрограммами в качестве параметров. Так</span>, <code>System.Array.FindAll</code>
|
||
<span lang="ru">имеет следующий прототип:</span></p>
|
||
<blockquote>
|
||
<p><code>System.Array.FindAll<T>(a: <b>array</b> <b>of</b> T; pred:
|
||
Predicate<T>): <b>array of</b> T;</code></p>
|
||
</blockquote>
|
||
<p><span lang="ru">и возвращает подмассив массива </span><code>a</code><span lang="ru">
|
||
элементов </span><code>T</code><span lang="ru">, удовлетворяющих условию </span>
|
||
<code>pred</code><span lang="ru">.</span></p>
|
||
<p><span lang="ru">Приведем пример вызова этой функции:</span></p>
|
||
<blockquote>
|
||
<p><code><b>var</b> a := [1,3,6,5,8];<br>
|
||
<b>var</b> b := System.Array.FindAll(a,x -> x <b>mod</b> 2 = 0);</code></p>
|
||
</blockquote>
|
||
<p><span lang="ru">Здесь возвращается массив </span><code>b</code><span lang="ru">,
|
||
содержащий все четные значения массива </span><code>a</code> <span lang="ru">в
|
||
том же порядке.</span></p>
|
||
</body>
|
||
|
||
</html>
|