Programming Taskbook 0


Download 1.62 Mb.
Pdf ko'rish
bet67/71
Sana21.06.2023
Hajmi1.62 Mb.
#1644761
TuriУчебное пособие
1   ...   63   64   65   66   67   68   69   70   71
Bog'liq
Abramyan-Pascal2016-1

Преобразование 
Методы array of T
 
ConvertAll(conv: T -> TRes): array of TRes 
Shuffle: array of T 
Replace(oldValue, newValue: T)
Sort([comp: (T, T) -> integer])
Transform(func: T -> T)
Функция ConvertAll применяет к каждому элементу e исходного масси-
ва преобразование conv(e) (переданное в качестве параметра — лямбда-
выражения) и возвращает новый массив, содержащий преобразованные 
элементы. Преобразование conv может, в частности, изменять тип элемен-
тов. Исходный массив не изменяется. 
Функция Shuffle изменяет случайным образом порядок элементов ис-
ходного массива. Она не только изменяет исходный массив, но и возвра-
щает ссылку на него. 
Процедура Replace заменяет в исходном массиве все элементы со зна-
чением oldValue, присваивая им новое значение newValue. 
Процедура Sort сортирует исходный массив. Если она вызывается без 
параметров, то массив сортируется по возрастанию значений его элемен-
тов (в этом случае необходимо, чтобы элементы можно было сравнивать 
операциями «меньше»–«больше»). Необязательный параметр comp позво-
ляет задать способ сортировки, определяя отношение сравнения для эле-
ментов массива: если значение а меньше значения b, то comp(a, b) должно 
возвращать отрицательное число, если a равно b, то comp(a, b) должно воз-
вращать 0, если a больше b, то comp(a, b) должно возвращать положитель-
ное число. Вариант процедуры Sort с параметром comp можно вызывать для 
любых массивов, в том числе и тех, для элементов которых не определены 
стандартные операции сравнения «меньше»-«больше». 
Процедура Transform(func) преобразует исходный массив, применяя к 
каждому его элементу лямбда-выражение func. Поскольку изменяется сам 
исходный массив, преобразование func(e) должно возвращать значение, тип 
которого совпадает с типом параметра e (в этом состоит одно из отличий 
процедуры Transform от ранее рассмотренной функции ConvertAll). 


Download 1.62 Mb.

Do'stlaringiz bilan baham:
1   ...   63   64   65   66   67   68   69   70   71




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling