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 Записи

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

2.4 Массивы

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

2.5 Вариантные значения

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

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

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

В текущей реализации для каждого вариантного типа допускается не более 246 неконстантных конструкторов и 230−1 конструктора-константы.

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

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

2.7 Функции

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

2.8 Объекты

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

« Лексические соглашенияИмена »
Copyright © 2026 Национальный институт исследований в области информатики и автоматики

© 1995-2026 INRIA.
https://ocaml.org/manual/5.5/values.html

Spec-Zone.ru

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