Проблемы с логическими операторами в предварительной обработке GDL
Логические операторы в условных выражениях препроцессора GDL в настоящее время не поддерживаются, но их можно смоделировать.
Имитация оператора NOT
Обычно можно использовать оператор NOT, как показано в следующем примере кода.
#Ifdef: symbol
--do this--
#Endif:
Однако вместо этого следует использовать следующий пример кода.
#Ifdef: symbol
#Else:
--do this--
#Endif:
Имитация оператора AND
Обычно можно использовать оператор AND, как показано в следующем примере кода.
#Ifdef: (symbolA *AND* symbolB)
--do this--
#Endif:
Однако вместо этого следует использовать следующий пример кода.
#Ifdef: symbolA
#Ifdef: symbolB
--do this--
#Endif:
#Endif:
Имитация оператора OR
Обычно можно использовать оператор OR, как показано в следующем примере кода.
#Ifdef: (symbolA *OR* symbolB)
--do this--
#Endif:
Однако вместо этого следует использовать следующий пример кода.
#Ifdef: symbolA
#Define: TempSymbol
#Elseifdef: symbolB
#Define: TempSymbol
#Endif:
#Ifdef: TempSymbol
--do this--
#Endif:
#Undefine: TempSymbol