/
n-dimens
/
pascalabcnet
Обзор
Документация
Войти
/
n-dimens
/
pascalabcnet
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
PABCNetHelp/LangGuide/FuncProgramming/Files/Join.html
23 строки
3 KB
samuraiGH
adding working-tree-encoding attribute (#3325)
07 ноя 2025, 16:12
Не верифицирован
07 ноя 2025, 16:12
cf1fd29
Код
Авторство
О чём код?
<html><head><object type="application/x-oleobject" classid="clsid:1e2a7bd0-dab9-11d0-b93a-00c04fc99f9e"> <param name="Keyword" value="Join"> </object><meta http-equiv="Content-Type" content="text/html; charset=windows-1251"><title></title><link rel="StyleSheet" href="../../../default.css"></head> <body> <H1>Методы Join</H1><h2>Описание методов</h2><p>Методы приведены для последовательности <code><b>sequence of</b> T</code>.</p><table> <tr><td> <code><b>function </b>Join<TInner,Key,Res>(inner: <b>sequence of</b> TInner; outerKeySelector: T->Key; innerKeySelector: TInner->TKey; resultSelector: (T,TInner)->Res): <b>sequence of</b> Res;</code> <br> Объединяет две последовательности на основе сопоставления ключей в третью последовательность. Функция resultSelector задаёт проекцию элементов двух последовательностей с одинаковыми значениями ключа в элемент третьей последовательности. </td></tr> <tr><td> <code><b>function </b>Join<TInner,Key,Res>(inner: <b>sequence of</b> TInner; outerKeySelector: T->Key; innerKeySelector: TInner->TKey; resultSelector: (T,TInner)->Res; comparer: System.Collections.Generic.IEqualityComparer<Key>): <b>sequence of</b> Res;</code> <br> Объединяет две последовательности на основе сопоставления ключей в третью последовательность. Функция resultSelector задаёт проекцию элементов двух последовательностей с одинаковыми значениями ключа в элемент третьей последовательности. Для сравнения ключей используется компаратор comparer. </td></tr> </table> <h2>Пример </h2><blockquote><code><strong>begin</strong><br> <strong>var</strong> people := Arr((1,'Иванов'),(2,'Попов'),(3,'Сидоров'));<br> <strong>var</strong> subjects := Arr((1,'История'),(1,'Математика'),(2,'История')<br> ,(3,'Математика'),(1,'Русский'),(2,'Физика'));<br><br> people.Join(subjects,p->p[0],s->s[0],(p,s)->(p[1],s[1])).Println(NewLine);<br> <strong>end</strong>.<br><br>Вывод:<br>(Иванов,История)<br> (Иванов,Математика)<br>(Иванов,Русский)<br>(Попов,История)<br>(Попов,Физика)<br> (Сидоров,Математика)</code></blockquote> </body>