Показать сообщение отдельно
Старый 29.09.2023, 18:32   #31  
ivas is offline
ivas
Участник
Аватар для ivas
 
252 / 68 (3) ++++
Регистрация: 22.12.2005
Цитата:
Сообщение от Logger Посмотреть сообщение
не подойдет.
Тернарный оператор это выражение.

X++:
#localmacro.tern
    %1 ? any2any(%1) : any2any(%2)
#endmacro

    info(strFmt("%1", (#tern(a, b)))); // не выдает
но я сам так не делал.
Это можно объединить в один макрос
X++:
static void tern_macro_test(Args _args)
{
    #localmacro.tern
    #if.empty(%4)
        %1 ? %2 : %3
    #endif
    #ifnot.empty(%4)
        if (%2)
        {
            %1 = %3;
        }
        else
        {
            %1 = %4;
        }
    #endif
    #endmacro

    anytype value, firstValue, secondValue;
    boolean useFirst;
    ;

    useFirst = true;
    firstValue = 1;
    secondValue = 2;
    info(strfmt("%1", #tern(useFirst, firstValue, secondValue)));

    useFirst = false;
    #tern(value, useFirst, firstValue, secondValue)
    info(strfmt("%1", value));
}
__________________
aLL woRk aNd nO JoY MAKes jAck a dULL Boy