Programming Taskbook 0


Download 1.62 Mb.
Pdf ko'rish
bet16/71
Sana21.06.2023
Hajmi1.62 Mb.
#1644761
TuriУчебное пособие
1   ...   12   13   14   15   16   17   18   19   ...   71
Bog'liq
Abramyan-Pascal2016-1


Глава 3. Массивы и последовательности 
33 
3.3.
Функции генерации массивов 
PascalABC.NET обладает богатым набором функций, позволяющих 
формировать массивы с нужным содержимым. Благодаря этим функциям 
во многих случаях при определении массива можно обойтись не только без 
указания его типа, но и без вызова конструктора.
Имеются две основные функции генерации массивов: ArrFill и ArrGen, 
причем вторая функция имеет несколько перегруженных вариантов, отли-
чающихся своими параметрами. Во всех функциях генерации массива пер-
вым параметром является его размер count типа integer. Вторым параметром 
функции ArrFill является значение, которое присваивается всем элементам 
созданного массива. Этот параметр может иметь произвольный тип; имен-
но по типу второго параметра определяется тип элементов массива, т. е. 
тип возвращаемого значения функции ArrFill.
Подобное «гибкое» поведение функции ArrFill возможно благодаря то-
му, что эта функция (как и практически все подпрограммы, связанные с 
обработкой массивов, и очень многие другие подпрограммы языка 
PascalABC.NET) является обобщенной функцией. Обобщенные подпро-
граммы позволяют использовать в качестве одного или нескольких типов 
имена-«заменители» (обычно T или T1, T2, и т. д.), означающие любой воз-
можный тип. Имена-заменители должны указываться в заголовке подпро-
граммы в угловых скобках сразу после ее имени и в дальнейшем могут 
применяться, как и «обычные» имена типов, при описании параметров, 
возвращаемого значения функции и локальных переменных. Например, за-
головок функции ArrFill выглядит следующим образом: 
function ArrFill(count: integer; x: T): array of T 
С помощью этой функции можно очень легко определить массив, со-
стоящий, например, из 10 целых чисел, равных 1: 
var a := ArrFill(10, 1); 
Если в качестве второго параметра указать 1.0, то будет создан массив 
вещественных чисел того же размера и с тем же значением. 
Гораздо больше возможностей по созданию массивов предоставляют 
различные варианты функции ArrGen. Во всех этих вариантах ключевую 
роль играют параметры — лямбда-выражения, которые подробно обсуж-
дались в п. 1.3. Приведем заголовки для всех вариантов функции ArrGen 
(здесь и далее в полужирных квадратных скобках будут указываться не-
обязательные параметры, для которых предусмотрены значения по умол-
чанию; кроме того, для упрощения записи мы не будем в дальнейшем ука-
зывать текст  после имени обобщенной подпрограммы): 
function ArrGen(count: integer; f: integer -> T

Download 1.62 Mb.

Do'stlaringiz bilan baham:
1   ...   12   13   14   15   16   17   18   19   ...   71




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