Инструменты пользователя

Инструменты сайта


cp:obx-proc-type

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
cp:obx-proc-type [2017/12/27 08:20]
иван_денисов создано
cp:obx-proc-type [2021/06/24 14:58] (текущий)
iadenisov
Строка 1: Строка 1:
 ===== Использование процедурных типов ===== ===== Использование процедурных типов =====
 +
 Суть этой возможности в **Компонентном Паскале** состоит в том, что можно создать //переменную//, которой позже можно присвоить //адрес// какой-либо //процедуры//, после чего, можно использовать эту переменную как саму процедуру. Суть этой возможности в **Компонентном Паскале** состоит в том, что можно создать //переменную//, которой позже можно присвоить //адрес// какой-либо //процедуры//, после чего, можно использовать эту переменную как саму процедуру.
  
Строка 5: Строка 6:
  
 ==== Пример ==== ==== Пример ====
-<code oberon2>+ 
 +<code>
 MODULE TestProcedure; MODULE TestProcedure;
 +
     IMPORT sl := StdLog;     IMPORT sl := StdLog;
 +
     TYPE     TYPE
         tP = PROCEDURE (IN str: ARRAY OF CHAR);         tP = PROCEDURE (IN str: ARRAY OF CHAR);
Строка 33: Строка 37:
         pp(str)         pp(str)
     END Start;     END Start;
 +
 END TestProcedure. END TestProcedure.
-TestProcedure.Start 
 </code> </code>
 +
 ==== Важные замечания ==== ==== Важные замечания ====
 +
 Если переменной процедурного типа не присвоить значение, она будет иметь значение **NIL**. Если переменной процедурного типа не присвоить значение, она будет иметь значение **NIL**.
  
cp/obx-proc-type.1514352017.txt.gz · Последнее изменение: 2020/10/29 07:08 (внешнее изменение)