EnglishРусский  

   Приложение

Данный проект закрыт! Создан новый скриптовый язык с тем же именем. Всё доступно на GitHub.
Также попробуйте нашу open source кроссплатформенную программу для создания и управления скриптами.

Реклама

Инсталлятор CreateInstall
Бесплатные и коммерческие инсталляторы

Команда type

Структурные типы описываются с помощью команды type. После команды следуют имя типа, атрибуты, а затем описание полей в фигурных скобках. В каждой строке описания может быть определено одно или несколько полей одного типа. В начале идет имя типа, потом имена полей через пробел или запятую. Поле может иметь как числовой тип, так и описанный ранее структурный тип. В памяти поля структуры располагаются в таком порядке, как они были описаны. Если поле является структурой, то эта структура полностью вставляется в данный тип. При описании полей, могут быть определены размерности ( в квадратных скобках через запятую ) и тип элемента, который указывается после ключевого слова of. Для получения или присваивания значения поля у переменной необходимо указать через точку его имя.

type customer 
{
   str    name, last_name  
   uint   age
   arrstr phones[ 5 ]
}
...
customer cust1 //
cust1.name = "Tom"
cust1.age = 30
cust1.phones[ 0 ] = "3332244"

Атрибуты

index

Типы могут содержать в себе другие элементы, например массив строк. Вы можете по умолчанию указать элементы какого типа содержит объект данного типа. Для этого присвойте этому атрибуту соответствующий тип. Если элементы по умолчанию имеют этот же самый тип (например дерево), то укажите index = this.

type arrstr <index=str  inherit = arr> 
{
   ...
}

inherit

Можно осуществлять наследование типов. Для этого необходимо использовать атрибут inherit = имятипа. Подробнее смотрите в Наследование типов.

protected

Имеется возможность запрещать обращение к полям типа из других модулей. Для этого необходимо указать атрибут protected. В этом случае все поля типа будут доступны только до конца компиляции текущего файла. После этого обращение к полям данного типа будет невозможно.

type mytype <protected> 
{
   ...
}

Дополнительные возможности

Для любого структурного типа вы можете определить методы, которые позволят вам

  • Производить дополнительные действия при инициализации и уничтожении переменной
  • Указывать of при описании переменных данного типа
  • Использовать квадратные скобки при обращении к отдельным элементам
  • Использовать foreach для перебора элементов данного типа.

Эти методы описаны на странице Системные методы для типов.

Смотрите также

Редактировать