IDXH      Получение номера элемента в таблице

 SYSTEM IDXH
 SWAP   St

 <IDXH /St/(Ez)>

   Если элемент с именем Ez отсутствует в таблице St, то заводится новый
   пустой элемент. Если в таблице не хватает места, то она расширяется
   на 50 элементов.

   При возникновении ошибки в выходной поток stdout выводится сообщение:
     " ***  АВОСТ в процедуре SIZE"
   в следующей строке - причина ошибки:
     "Неверный формат обращения"
   если таблица еще не заведена.

   Значение:  Результатом замены является номер элемента с именем Ez
              в виде символа - целого числа.

  -------------------------------- Пример ----------------------------------

               ENTRY task
               SYSTEM NEWT,IDXH,SWRH,PRTH,MULTE,SYMB,PROUT
               SWAP box,tab

     task =    <NEWT /tab//1/>                       +
               <MULTE /0/<SWRH /tab/('str1')/1111/>> +
               <MULTE /0/<SWRH /tab/('str2')/2222/>> +
               <MULTE /0/<SWRH /tab/('str3')/3333/>> +
               <MULTE /0/<SWRH /tab/('str4')/4444/>> +
               <MULTE /0/<SWRH /tab/('str5')/5555/>> +
               <MULTE /0/<SWRH /tab/('str6')/6666/>> +
               <MULTE /0/<SWRH /tab/('str7')/7777/>> +
               <PRTH /tab/>                          +
               <PROUT 'From idxh: '<SYMB <IDXH /tab/('str9')>>>   +
               <PRTH /tab/>
               END

    C:\REFAL>primer.exe
        Таблица TAB
          1  'str1'
             =
             /1111/
          2  'str2'
             =
             /2222/
          3  'str3'
             =
             /3333/
          4  'str4'
             =
             /4444/
          5  'str5'
             =
             /5555/
          6  'str6'
             =
            /6666/
          7  'str7'
             =
            /7777/
     From idxh: 8
         Таблица TAB
          1  'str1'
            =
            /1111/
          2  'str2'
            =
            /2222/
          3  'str3'
            =
            /3333/
          4  'str4'
            =
            /4444/
          5  'str5'
            =
            /5555/
          6  'str6'
            =
            /6666/
          7  'str7'
            =
            /7777/
          8  'str9'
            =
        
     C:\REFAL>

Seealso:



This page last updated on Fri Nov 30 11:06:55 MSK 2001
Copyright © 1992-2001, Vitaly Filatov, Moscow, Russia
Webmaster