Макроопределение может содержать условную зависимость. Вот пример такого определения:

DX$g$?x ($x)$.

Буква D - это команда макроопределения; X - имя макроопределения; а ссылка $д предписывает использовать значение, хранимое в макроопределении д. Но что означает последовательность $?х ($х)$.? Конструкция $?х является условным выражением: она проверяет, установлено ли значение макроопределения х. Если значение установлено, интерпретируется текст, следующий за условным выражением. Конструкция $. завершает условное выражение.

Итак, макроопределение для X интерпретируется следующим образом: X присваивается значение д; и если значение х установлено, к X добавляется буквальный пробел, левая скобка, значение х и правая скобка.

Поэтому если g содержит Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра., а х содержит Craig Hunt, X получит значение:

Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра. (Craig Hunt)

Условные выражения могут использоваться в сочетании с конструкцией «иначе», а именно $ |. Полный синтаксис условного выражения:

$?х text7 $| text2 $,

Интерпретируется он следующим образом:

  • если ($?) значение х установлено;
  • использовать text 7;
  • иначе ($ |);
  • использоват ь text2;
  • конец условного выражения ($.).