Макроопределение может содержать условную зависимость. Вот пример такого определения:
DX$g$?x ($x)$.
Буква D - это команда макроопределения; X - имя макроопределения; а ссылка $д предписывает использовать значение, хранимое в макроопределении д. Но что означает последовательность $?х ($х)$.? Конструкция $?х является условным выражением: она проверяет, установлено ли значение макроопределения х. Если значение установлено, интерпретируется текст, следующий за условным выражением. Конструкция $. завершает условное выражение.
Итак, макроопределение для X интерпретируется следующим образом: X присваивается значение д; и если значение х установлено, к X добавляется буквальный пробел, левая скобка, значение х и правая скобка.
Поэтому если g содержит Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра., а х содержит Craig Hunt, X получит значение:
Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра. (Craig Hunt)
Условные выражения могут использоваться в сочетании с конструкцией «иначе», а именно $ |. Полный синтаксис условного выражения:
$?х text7 $| text2 $,
Интерпретируется он следующим образом:
- если ($?) значение х установлено;
- использовать text 7;
- иначе ($ |);
- использоват ь text2;
- конец условного выражения ($.).