Standart ML. Урок 3. Базовые типы данных

Standart ML   21 октября 2013  Автор статьи:  
Тип unit
  • Тип unit состоит из значения ().
  • Тип unit используется когда сложно подобрать осмысленный тип для написанного выражения, а также вместо аргумента функции (когда функция не должна иметь аргументов).

unit

Тип bool (логические значения)
  • Тип bool состоит из двух значений, это true и false.
  • Существуют три операции для работы со значениями типа bool:
    1. not (одноместная операция) — не;
    2. andalso (двухместная операция) — и
    3. orelse (двухместная операция) — или.

    bool

Рассмотрим условное выражение:
if [аргумент типа bool] then [выражение 1] else [выражение 2]

  • В if должен находится аргумент типа bool.
  • boolint

  • Часть else должна присутствовать. Допустим, что значение в if — false, тогда выражение не имеет значения, что неверно.
  • Типы выражений 1 и 2 должны совпадать.
  • truefalse

Тип int (целые числа)
  • Тип int состоит из множества положительных и отрицательных чисел.
  • Отрицательные числа записываются с помощью тильды ~.
  • minus

  • Целочисленные выражения могут содержать:
    • Знаки арифметических операций: +, -, div (целочисленное деление), mod (получение остатка от деления нацело).
    • Знаки для операций сравнения: <, >, <=, >=, =, <>. На вход операции сравнения принимают два аргумента типа int и возвращают результат тип bool.
    • div

Тип string (строки)
  • Тип string состоит из конечной последовательности литер.
  • Строки записываются между двойными кавычками » как последовательность литер.
  • [important]Важно![/important]
    Если двойная кавычка входит в состав строки, запись выглядит так: "\""
    Если символ \ входит в состав строки, запись выглядит так: "\\"

  • Узнать длину строки можно с помощью функции size.
  • size

  • Функция ^ является инфиксной конкатенацией двух строк (присоединение к первой строке второй).
  • plus

Рассмотрим пример конкатенации трех строк: «Типы», » » и «данных» инфиксной функции ^ с последующим определением размера получившейся строки с помощью функции size.

sizePlus

Для успешной работы функции size, сложное выражение, длину которого мы хотим подсчитать, взято в скобки, что не требуется при определения длины строки обычного выражения.

Тип real (действительные числа)
  • Тип real — это тип чисел с плавающей точкой.
  • Действительные числа записываются в следующем порядке: целое число, десятичная точка, последовательность из одной или более десятичных цифр, знак Е, число.
  • [important]Важно![/important]

    • Экспонента E может быть опущена, если присутствует десятичная точка.
    • Десятичная точка может быть опущена, если присутствует экспонента Е.

    real

  • Для действительных чисел существуют обычные арифметические операции: +, -, / (операция деления действительных чисел).
  • [important]
    Для действительных чисел не существует операций div и mod (в отличии от целых чисел).
    [/important]

  • Для действительных чисел так же существуют операции сравнения: <, >, <=, >=, =, <>. На вход операции сравнения принимают два аргумента типа real и возвращают результат тип bool.
  • [important]
    Оба операнда арифметических операций и операций сравнения должны быть одного типа.
    [/important]
    sravneniyaReal

  • Математические функции sin, cos, sqrt, exp и другие так же используются в языке Standart ML. О том как ими пользоваться, расскажу в следующем уроке!
  • Функция real преобразует целое число в соответствующее ему действительное число.
  • inReal

  • Функция round округляет действительное число в соответствующее ему целое число.
  • round

  • Функция floor преобразует действительное число в целое, отбрасывая дробную часть.
  • floor

В четвертом уроке мы познакомимся с модулями (библиотеками) языка Standart ML.

Научиться программировать

  • на Delphi

  • на Java

  • на C++