Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Команда Set






 

Команда Set предназначена для присваивания значений переменным.

Присваивание значения нескольким переменным осуществляется путем заключения их в скобки. Если в левой части выражения используются индексы, то выражение справа от знака равенства всегда вычисляется первым.

Если необходимо присвоить значение части строки, применяют

Set $Piece или Set $Extract.

 

Set x = 5, n(1) = 4

Set ^FILE = 3

Set: a > 0 (i, j, k) = 1

Set @a = @b + 1

Set $Piece(v, " *", 3) = " A"

 

Команду Set можно использовать для задания арифметических выражений и назначения значений переменным.

Формы команды Set:

Set < перем1> = < выр1>, < перем2> = < выр2>

Set (< перем1>, < перем2>, < перем3>, …) = < выр>

Set < объект>.< свойство> = < значение>

Set (< объект1>.< свойство>, < объект2>.< свойство>, < объект3>.< свойство>) = < значение>

Например:

Set a=4, b=5, c=10

Set (sc, fam, d)=”Строка”

Set Human.Im=”Александр”

Set (per1.pol, per2.pol, per3.pol)=”Ж”

Операторы в выражении выполняются строго слева направо, нет приоритетов операций, об этом нужно помнить, чтобы избежать ошибок. Для изменения порядка следования операций можно использовать скобки. Например, сравните 2 выражения:

Set sum=sum+(num#10)+(num\10) и Set sum=sum+num#10+num\10.

Вы получите разный результат.

 

Команда Kill

Команду Kill можно использовать для удаления переменной, а безаргументная форма может использоваться для удаления всех переменных памяти. Синтаксис:

Kill < переменные>

Команды Kill и безаргументная форма Write могут быть полезны при отладке программы.

Например:

SAMPLES> set a = 1, b = 2, c = 3, d = 4, e = 5

SAMPLES> write

a=1

b=2

c=3

d=4

e=5

SAMPLES> kill c

SAMPLES> write

a=1

b=2

d=4

e=5

Kill удаляет локальные или глобальные переменные, заданные в списке аргументов. Kill без аргумента удаляет все локальные переменные, в то время как исключающая команда

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

Глобальные переменные и поддеревья многомерных переменных удаляются только с помощью формы Kill с аргументами.

Kill

Kill а, b, ^С

Kill a(1, 3)

Kill (v1, v2, v3)

Kill: bed p1, p2, @var

 

HANG - приостановить текущий процесс на указанное число секунд

HALT - закончить текущий процесс

 

Merge

Merge обеспечивает копирование целых поддеревьев индексированных переменных друг в друга, неважно, определены ли они как локальные или как глобальные

Merge a = b

Merge var (1) = ^G(1, 2)

 

New

Команда New определяет локальные переменные, заданные в ее списке аргументов. Ранее определенные локальные переменные с таким же именем становятся неопределенными. Если приведенной в аргументе команды New переменной присваивается значение, оно остается досягаемым вплоть до завершения текущей программы командой Quit.

Перед выходом из программы автоматически проводится Kill этих переменных, и определенные ранее значения вновь становятся видимыми.

Команда New оперирует только с неиндексированными переменными, однако ее действие распространяется как на заданную переменную, так и на всех ее (индексированных) потомков.

New

New a, b

New(x1, x2)

 

Lock

Lock используется в основном для блокировки глобальных переменных с тем, чтобы временно объявить их собственностью данного процесса Cache. Имеется четыре варианта команды Lock.

Lock без аргумента используется для снятия всех блокировок. Lock с аргументом без знака плюс или минус сначала снимает все блокировки и далее блокирует заданные в аргументе переменные. При этом аргумент – это либо имя переменной, либо заключенный в скобки список имен переменных.

Наконец, имеется еще один вариант команды Lock – со знаком плюс перед аргументом, запрашивающий дополнительную блокировку заданных в аргументе переменных, и Lock со знаком минус перед аргументом, избирательно снимающий блокировки. Две последние формы работают инкрементально, что означает: если та же самая переменная v многократно блокируется командой Lock + v, то ровно такое же число раз она должна разблокироваться с помощью Lock - v, прежде чем она станет доступной для блокировки другими процессами. Блокировка узла многомерной переменной вызывает блокировку всех ее потомков. Соседи при этом не затрагиваются. В команде может быть задано время ожидания, а при использовании инкрементальной формы команды его рекомендуется задавать всегда.

Lock

Lock (a, ^G)

Lock ^А(1, 2)

Lock (b, ^Н): 10

Lock +^А, -^РЕR(name)

Lock +(^Р1, ^Р2)

 

3. Команды запуска кода:






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.