getfield
Функция для динамического доступа к полям переменных составного типа
Синтаксис
val = getfield(rec,field_name);
getfield(rec,field_name) = val;
Аргументы
| Имя | Тип данных | Описание |
|---|---|---|
| rec | trecord |
Переменная составного типа |
| field_name | string |
Строковое значение, имя поля переменной составного типа |
Описание
getfield – функция позволяет осуществить получение или запись значения поля
field_name переменной rec.
Результат
| Имя | Тип данных | Описание |
|---|---|---|
| val | |
Если функция стоит в правой части операции присвоения ("="), то она
возвращает переменной val значение указанного
поля переменной составного типа; если функция стоит в левой
части операции присваивания, то функция производит присвоение
значения, взятого из переменной val, заданному
полю переменной составного типа. |
Прим.:
Типы данных присваиваемого значения и заданного поля переменной составного
типа должны совпадать.
Пример
var newrec:(x = 0.0, y = 0.0); // объявление переменной составного типа
newrec->x = 10; // задание значения поля напрямую
var a: double, b: double; // объявление дополнительных переменных
a = getfield(newrec,"x"); // получение значения поля с помощью функции
getfield(newrec,"y") = 1000; // задание значения поля с помощью функции
b = getfield(newrec,"y"); // получение значения поля с помощью функции
В результате выполнения скрипта происходит создание переменной составного типа, получение и запись значений ее полей напрямую и с помощью функции.
Дополнительные материалы
Нет.