QNext. Макрос if
Макрос !{if} позволяет выводить различную информацию в зависимости от указанного условия, например:
!{if|
leftPath: localVar.testValue;
then: Значение then;
else: Значение else;
}
Этот макрос покажет Значение then, если в переменной leftPath, в данном случае это localVar.testValue, есть какое то значение, и покажет Значение else в противном случае.
type: number
По умолчанию макрос проверяет значения приводя тип к bool, если вы хотите сравнивать числа или строки, тогда необходимо передать параметр type и второе значение для сравнения:
!{if|
type: number;
leftPath: localVar.testValue1;
rightPath: localVar.testValue2;
then: Значения равны;
else: Значение не равны;
}
Здесь мы казали type: number, сообщим тем самым что мы хотим сравнивать числа, а затем указали два значения leftPath и rightPath.
type: string
Если вы хотите проверять значения как строки, необходимо в type передать значение string:
!{if|
type: string;
leftPath: localVar.testValue1;
rightPath: localVar.testValue2;
then: Значения равны;
else: Значение не равны;
}
Путь или значение
В примерах выше мы в качестве проверяемых значений указывали пути до переменных, а если вы хотите сравнить с конкретным значением, можно вместо leftPath и rightPath указать соответственно leftValue и rightValue:
!{if|
type: string;
leftPath: localVar.testValue1;
rightValue: abc;
then: Строка равна abc;
else: Строка НЕ равна abc;
}
Обратите внимание для левого операнда мы указали путь, используя переменную leftPath, а для правого операнда мы указали rightValue, для того чтобы указать макросу что мы хотим сравнивать с конкретной строкой, а не переменной (строка "abc").
На текущий момент макрос проверят значения только на равенство, в будущем будет дополнение которое позволит проверять >, <, а так же битовые маски чисел.