SWRH Заведение элемента таблицы
SYSTEM SWRH
SWAP St
<SWRH /St/(Ez)Ex>
Если в таблице с именем St не было элемента с именем Ez, то он заводится.
Новому элементу присваивается номер, который в виде символа-целого числа
выдается в поле зрения в качестве результата замены процедуры.
Если в таблице не хватает места, то она расширяется на 50 элементов.
Содержимое элемента устанавливается равным Ex, либо если элемент уже
имеется в таблице, то производится обмен его содержимого на новое Ex,
а старое содержимое элемента выдается в поле зрения вслед за номером
элемента.
При расширении таблицы могут возникнуть следующие ошибки:
-"недопустимый размер таблицы <имя таблицы>" -
если новый размер таблицы превысит 2730 элементов;
-"не хватает памяти под таблицу <имя таблицы>" -
если нет достаточного количества свободной памяти для размещения
расширенной таблицы.
Значение: Результатом замены является номер элемента в виде символа-
целого числа, за которым может следовать старое содержимое
элемента таблицы.
-------------------------------- Пример ----------------------------------
В нижеприведенной рефал-программе, выполняются следующие действия:
образуется таблица с именем "tname" размером в 5 элементов,
заводятся три элемента, распечатывается содержимое таблицы,
считывается содержимое первого элемента и добавляется к содержимому
третьего элемента. Затем из таблицы исключается второй элемент
и снова распечатывается содержимое таблицы.
mod1 START
SYSTEM NEWT,PRTH,SWRH,RDRH,SWRF,PTRH
ENTRY task
SWAP tname
*------------
TASK = <NEWT /tname//5/><tabl /tname/><PRTH /tname/>
*------------
tabl
St = <SWRH St('abc')'r'(/8/'d')> +
<SWRH St((/124/()'t'))'xyz'> +
<SWRH St('element12j')> +
<PRTH St> +
<PTRH St(/3/)<RDRH st('abc')>> +
<SWRF St(/2/)>
END
Seealso:
This page last updated on Fri Nov 30 11:06:55 MSK 2001
Copyright © 1992-2001, Vitaly Filatov, Moscow, Russia
Webmaster