Например:
До
globals
    constant integer i = 'A000'
endglobals

function Add takes nothing returns nothing
    call UnitAddAbility( GetTriggerUnit(), i )
endfunction
После
function Add takes nothing returns nothing
    call UnitAddAbility( GetTriggerUnit(), 'A000' )
endfunction

Принятый ответ

#define anything = 'A000'
#define inlinedfunction (arg1, arg2) = {set arg1 = arg1 + arg2}
#define inlinedfunction (arg1) перегрузка функций
#define inlinedfunction (nothing)
#define thatcanworkasinlinedfunctiontoo
#define <call GetPlayerId>(p) = {G##etPlayerId (p)}//## - конкатенатор строк. Срабатывает после подстановки дефайнов. Поскольку цжасс позволяет не ставить set и call перед функциями и арифм функциями, это будет работать как и до подстановки дефайном
элсо это фича cJass
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
20
6 лет назад
Отредактирован Diaboliko
0
#define anything = 'A000'
#define inlinedfunction (arg1, arg2) = {set arg1 = arg1 + arg2}
#define inlinedfunction (arg1) перегрузка функций
#define inlinedfunction (nothing)
#define thatcanworkasinlinedfunctiontoo
#define <call GetPlayerId>(p) = {G##etPlayerId (p)}//## - конкатенатор строк. Срабатывает после подстановки дефайнов. Поскольку цжасс позволяет не ставить set и call перед функциями и арифм функциями, это будет работать как и до подстановки дефайном
элсо это фича cJass
Принятый ответ
0
28
6 лет назад
0
По-моему, оптимизатор Векса все константы инлайнит.
0
18
6 лет назад
0
PT153:
По-моему, оптимизатор Векса все константы инлайнит.
Ну это да, там есть пункт "Встраивать константы"
Чтобы оставить комментарий, пожалуйста, войдите на сайт.