Стандартные функции и методы
Стандартные функции
Функция длина
Стандартная функция длина возвращает длину строк, векторов и вариативных параметров, см. также Строка8. Тип результата: Цел64.
Длина строки считается в символах. Для остальных типов длина выдает число элементов.
пусть д1 = длина("Привет") // равно 6
пусть д2 = длина("Привет"(:Байты)) // равно 12
Функции для полиморфных параметров
Стандартные функции тег() и нечто предназначены для работы с полиморфными параметрами
Аргумент функции тег может быть типом или полиморфным параметром или элементом вариативного полиморфного параметра. Для каждого типа определен его Тег, который является постоянным объектом времени исполнения. Постоянный, в данном контексте, контексте, означает, что Тег типа не меняется во время исполнения программы. Тег представлен значением типа Слово64.
| Вид аргумента | Пример | Результат |
|---|---|---|
| предопределенный тип | тег(Цел64) | Тег указанного типа |
| описанный тип | тег(Байты) | Тег указанного типа |
| полиморфный параметр | тег(п) | Тег параметра |
| элемент вариативного полиморфного параметра | тег(п[номер]) | Тег элемента |
Аргумент функция нечто должен быть полиморфным параметром или элементом вариативного полиморфного параметра. Функция выдает результат типа Слово64, которые является скрытым представлением значения переданного в полиморфный параметр.
К результату функции нечто может применяется преобразование типа или осторожное преобразование типа.
фн Что это?(п: *) {
если тег(п) = тег(Цел64) {
вывод.ф("это число: %v", нечто(п)(:Цел64))
}
иначе {
вывод.ф("это не число")
}
}
Функция ‘сигнатура
Стандартная функция сигнатура должна вызываться с одним аргументом, который должен быть типом функции. Функция возвращает строку, которая содержит представление сигнатуры функцию в некоторой кодировке, зависищей от реализации. Результат функции используется для динамической проверки типа.
Встроенные методы для векторов
Для всех типов векторов определены стандартные методы:
добавить
Уточнить набор и семантику методов
Метод ‘добавить’
Метод добавить можно применить к любому вектору. Если вектор типа []T, то метод можно рассматривать, как описанный с заголовком:
фн (в: []T) добавить(аргументы: ...T)
Это означает, что в вызове метода можно указать любое количество аргументов типа T или одно развернутое выражение.
Вызов метода добавляет к вектору указанные аргументы.
тип Числа = []Цел64
пусть фиб = Числа[1, 1]
фиб.добавить(2, 3, 5)