Spec-Zone.ru › OCaml
☰Язык программирования OCaml
  • Язык программирования OCaml
  • Расширения языка

Глава 11 Язык программирования OCaml

2 Значения

  • 2.1 Базовые значения
  • 2.2 Кортежи
  • 2.3 Записи
  • 2.4 Массивы
  • 2.5 Значения вариантов
  • 2.6 Полиморфные варианты
  • 2.7 Функции
  • 2.8 Объекты

В данном разделе описываются типы значений, используемые в программах на языке OCaml.

2.1 Базовые значения

Целые числа

Целочисленные значения представляют собой целые числа от −230 до 230−1, то есть от −1073741824 до 1073741823. Реализация может поддерживать более широкий диапазон целочисленных значений: на 64-битных платформах текущая реализация поддерживает целые числа от −262 до 262−1.

Числа с плавающей точкой

Значения с плавающей точкой — это числа в представлении с плавающей точкой. Текущая реализация использует числа с двойной точностью, соответствующие стандарту IEEE 754, с 53 битами мантиссы и показателем степени от −1022 до 1023.

Символы

Значения символов представлены как 8-битные целые числа от 0 до 255. Коды символов от 0 до 127 интерпретируются в соответствии со стандартом ASCII. Текущая реализация интерпретирует коды символов от 128 до 255 в соответствии со стандартом ISO 8859-1.

Строки

Строковые значения представляют собой конечные последовательности символов. Текущая реализация поддерживает строки, содержащие до 224 − 5 символов (16777211 символов); на 64-битных платформах предел составляет 257 − 9.

2.2 Кортежи

Кортежи значений записываются (v1, …, vn), что обозначает n-кортеж значений от v1 до vn. Текущая реализация поддерживает кортежи до 222 − 1 элементов (4194303 элементов).

2.3 Записи

Значения записей — это именованные кортежи значений. Значение записи, записанное { поле1 = v1; …; полеn = vn } ассоциирует значение vi с полем записи полеi для i = 1 … n. Текущая реализация поддерживает записи до 222 − 1 полей (4194303 полей).

2.4 Массивы

Массивы представляют собой конечные последовательности значений одного типа с переменной длиной. Текущая реализация поддерживает массивы, содержащие до 222 − 1 элементов (4194303 элементов), если элементы не являются числами с плавающей точкой (в этом случае 2097151 элемент); на 64-битных платформах ограничение составляет 254 − 1 для всех массивов.

2.5 Значения вариантов

Значения вариантов — это либо константный конструктор, либо неконстантный конструктор, применённый к нескольким значениям. В первом случае записывается констр; во втором случае записывается констр (v1, ... , vn ), где vi являются аргументами неконстантного конструктора констр. Скобки можно опустить, если аргументов только один.

Следующие константы рассматриваются как встроенные константные конструкторы:

Константа Конструктор
false логическое значение false
true логическое значение true
() значение «единица»
[] пустой список

Текущая реализация ограничивает каждый тип варианта максимум 246 неконстантными конструкторами и 230−1 константными конструкторами.

2.6 Полиморфные варианты

Полиморфные варианты — это альтернативная форма значений вариантов, не принадлежащая явно предопределённому типу варианта, и следующая специфическим правилам типизации. Они могут быть либо константными, записанными `имя-метки, либо неконстантными, записанными `имя-метки(v).

2.7 Функции

Функциональные значения — это отображения значений в значения.

2.8 Объекты

Объекты состоят из скрытого внутреннего состояния, которое является записью переменных экземпляра, и набора методов для доступа к этим переменным и их изменения. Структура объекта описывается высшим классом, который его создал.

« Лексические соглашенияИмена »
Авторское право © 2024 Institut National de Recherche en Informatique et en Automatique

© 1995-2024 INRIA.
https://ocaml.org/manual/5.2/values.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API