Programming Taskbook 0


Download 1.62 Mb.
Pdf ko'rish
bet6/71
Sana21.06.2023
Hajmi1.62 Mb.
#1644761
TuriУчебное пособие
1   2   3   4   5   6   7   8   9   ...   71
Bog'liq
Abramyan-Pascal2016-1


Глава 1. Некоторые расширения Паскаля в языке PascalABC.NET 
15 
Затем эту переменную можно связать с лямбда-выражением, которое 
принимает два целых числа и возвращает их сумму и произведение: 
f := (a, b) -> (a + b, a * b); 
Стандартные процедуры вывода PascalABC.NET Write/Writeln и 
Print/Println позволяют указывать кортежи в качестве своих параметров. По-
ля кортежа при выводе разделяются запятыми, а весь кортеж заключается в 
круглые скобки. Например, можно выполнить в процедуре вывода вызов 
ранее определенного лямбда-выражения f: 
Write(f(10, 20)); 
В результате будет выведен следующий текст: 
(30,200) 
Два кортежа считаются имеющими один и тот же тип, если они имеют 
одинаковое количество полей, причем поля с одинаковыми индексами 
имеют одинаковые типы. Кортежи одного типа можно сравнивать не толь-
ко операциями «равно»–«не равно», но и операциями «меньше»–«боль-
ше»; при этом используется так называемое лексикографическое сравне-
ние: вначале сравниваются значения первого поля; если они различны, то 
меньшим кортежем считается тот, у которого первое поле имеет меньшее 
значение; если первые поля совпадают, то сравниваются вторые поля, 
и т. д. 
Для кортежей предусмотрен метод Add. Вызов a.Add(b) возвращает 
кортеж, содержащий все поля кортежа a и дополнительное поле, которому 
присваивается значение b (новое поле располагается последним). Того же 
самого результата можно достигнуть, используя операцию + вида a + b (где 
первый операнд является кортежем). Таким образом, выражение (1, 2) + 3 
вернет кортеж (1, 2, 3). Заметим, что выражение (1, 2) + (3, 4) тоже вернет 
кортеж из трех полей (1, 2, (3, 4)), поскольку второй операнд операции + 
(и параметр b при вызове метода a.Add(b)) всегда добавляется к кортежу в 
виде единственного поля. 


16 
Download 1.62 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   71




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