Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Команда 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. Команды запуска кода:
|