Standart ML. Урок 8. Идентификаторы, привязки, объявления

Standart ML   25 октября 2013  Автор статьи:  
  • Идентификаторы значений (переменные) вводятся путем привязки идентификатора к значению. Для этого используется конструкция val iden = v, где iden — идентификатор, v — выражение.
  • Каждый идентификатор перед использованием должен быть объявлен.

ident

Фраза - val x = 3; называется привязкой к значению. Теперь для переменной x установлено значение 3. Стоит помнить о том, что каждая последующая привязка к переменной х будет «заслонять» предыдущую.

zamenaPrivyazok

С помощью ключевого слова and, к значениям одновременно можно привязывать несколько идентификаторов.
[important]Привязка будет происходить параллельно: сначала будут вычислены правые части, затем идентификаторы, указанные в левых частях, будут привязаны к полученным значениям.[/important]

andIdent

[important]Когда два объявления соединятся точкой с запятой, сначала происходит вычисление левого объявления, порождая среду E, затем правого в среде Е, порождая среду Е’.

obyav
[/important]

[important]Точку с запятой можно не ставить, однако тогда (в данном случае) не будет выводится значение, полученное при порождении первой среды.

obyavNet[/important]

Конструкция local
  • Локальные переменные облегчают построение других объявлений. Конструкция local организует среду со своей собственной привязкой значений к идентификаторам.
  • Общий формат конструкции:

    local
    lo
    in
    l
    end;

    где lo — последовательность локальных объявлений; l — последовательность объявлений.

  • Идентификаторы, объявленные в lo являются локальными при вычислении значений выражений в объявлениях l. По окончании выполнения конструкции local доступными остаются значения идентификаторов, объявленных в l.
  • - local
    val x = 3
    in
    val y = 21 div x + 2
    val z = 21 mod x + 2
    end;

    valIdent

Конструкция let
  • Конструкция let позволяет локализовать объявление, используемое при вычисления выражения.
  • Формат выражения:
    let
    l
    in
    v
    end;

    где l — последовательность объявлений; v — некоторое выражение, для которого объявления в l являются локальными.

  • Значением выражения let является вычисленное значение выражения v.

- let
val x = 12
in
(9 + x) div 7
end;

let

В девятом уроке поговорим про образцы Standart ML.

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

  • на Delphi

  • на Java

  • на C++