Переменные и процедуры

Слайд 2

3. 1 Переменные Чтобы определить переменную, ее имя и значение нужно

3. 1 Переменные
Чтобы определить переменную, ее имя и значение нужно занести

в текущий словарь. Это делается с помощью оператора def.
Например, определение переменной со значением, равным году поступления в университет:
/beg_education 2014 def
Косая черта перед именем переменной beg_education показывает, что интерпретатору следует поместить это имя в стек как литерал и не искать его в словаре. Вслед за именем в стек заносится число 2014. Затем def берет оба эти объекта из стека и помещает их в текущий словарь. Второй элемент стека (beg_education ) становится ключом, с которым ассоциировано значение первого элемента (2014).
Оператор def можно рассматривать как аналог оператора присваивания в языках программирования.
Определенное с помощью def значение переменной можно
изменить новым оператором def;
использовать в других операторах.
Слайд 3

Определим новую переменную со значением, равным году окончания университета: /end_education beg_education

Определим новую переменную со значением, равным году окончания университета:
/end_education beg_education 4

add def

Словарь

Стек

2014

2018

4

Ключ

Значение

2014

2018

beg_education

end_education

end_education

end_education

end_education

end_education

2014

Слайд 4

3.2 Процедуры Процедура - это набор операторов, сгруппированных под общим именем.

3.2 Процедуры

Процедура - это набор операторов, сгруппированных под общим именем. Имя

процедуры является ключом в словаре, а набор операторов ассоциируется с ее значением.
Процедуры в PostScript определяются с помощью оператора def. Набор операторов процедуры должен быть заключен в фигурные скобки.
/name { операторы процедуры } def
Когда возникает потребность в выполнении набора операторов процедуры, имя процедуры указывается в программе как отдельный оператор. В языках программирования это называется вызовом процедуры.
Данные, с которыми работает процедура, могут указываться непосредственно в наборе операторов процедуры или загружаться в стек перед вызовом процедуры.