Programming Taskbook 0
Download 1.62 Mb. Pdf ko'rish
|
Abramyan-Pascal2016-1
- Bu sahifa navigatsiya:
- Batch
- [[10,40,60],[29,59],[33,53],[84],[52]]
Группировка
Методы sequence of T GroupBy(keySel: T -> TKey): sequence of IGrouping GroupBy(keySel: T -> TKey; elemSel: T -> TElem) : sequence of IGrouping GroupBy(keySel: T -> TKey; finalSel: (TKey, sequence of T) -> TRes): sequence of TRes GroupBy(keySel: T -> TKey; elemSel: T -> TElem; finalSel: (TKey, sequence of TElem) -> TRes): sequence of TRes * Batch(size: integer): sequence of sequence of T * Batch(size: integer; func: sequence of T -> TRes): sequence of TRes * Pairwise: sequence of (T,T) * Pairwise(func: (T,T) -> TRes): sequence of TRes Первый параметр любого варианта запроса GroupBy представляет со- бой лямбда-выражение keySel (селектор ключа), определяющее ключ груп- пировки. Если этот параметр является единственным, то результатом вы- полнения метода GroupBy является последовательность с элементами спе- циального обобщенного типа IGrouping собой последовательность элементов типа T и, кроме того, имеет дополни- тельное свойство Key типа TKey, которое можно рассматривать как некото- рую общую характеристику (ключ) всех элементов, входящих в эту после- довательность. Таким образом, в результате выполнения запроса GroupBy с одним параметром мы получим последовательность, каждый элемент ко- торой, в свою очередь, тоже является последовательностью, а именно — группой тех элементов исходной последовательности, которые имеют одинаковый ключ. При этом значение ключа любой группы элементов можно получить, обратившись к свойству Key данной группы. Приведем пример: var a := Seq(10, 29, 33, 84, 40, 59, 52, 53, 60); var res := a.GroupBy(e -> e mod 10); Writeln(res); // [[10,40,60],[29,59],[33,53],[84],[52]] Мы сгруппировали исходную последовательность чисел по ключу — последней цифре числа. Таким образом, в каждую группу попали все эле- |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling