Добавлен AntiMage,
не публикуется
например
есть функция
function Myasnik takes nothing returns nothing
local timer t
есть функция
function Myasnik takes nothing returns nothing
local timer t
тут действия тока integerы отличаются
я мог бы сделать так call Myasnik('A000',xxxx,xxxx, и.т.д)
но передача к функциям занимает время
я не давно начал изучать cjass и vjass
на 60% усвоил, помогло сжать коды, но функции похожие нет, мне на vjass struct и method не понятно, короче как сделать так чтоб
одинаковые функции вызывались коротким кодом, как переменные (разумеется только в редакторе NewGen, дальше ведь декомпиляция идет или вроде оптимизация конвертация кода на станд.jass)
struct
вроде люди тут хранять как переменную функции?
endstruct
я мог бы сделать так call Myasnik('A000',xxxx,xxxx, и.т.д)
но передача к функциям занимает время
я не давно начал изучать cjass и vjass
на 60% усвоил, помогло сжать коды, но функции похожие нет, мне на vjass struct и method не понятно, короче как сделать так чтоб
одинаковые функции вызывались коротким кодом, как переменные (разумеется только в редакторе NewGen, дальше ведь декомпиляция идет или вроде оптимизация конвертация кода на станд.jass)
struct
вроде люди тут хранять как переменную функции?
endstruct
set t=null
endfunction
endfunction
Принятый ответ
Функшн поинтеров помимо типа code в жассе нет. Можно полагаться только на ExecuteFunc, куда аргументы передаются только глобалками, соответственно никакого тайпчекинга.
Использовать можно например так
struct mystruct
static method mymethod takes nothing returns nothing
call BJDebugMsg("this works")
endmethod
endstruct
function myfunction takes nothing returns nothing
call ExecuteFunc(mystruct.mymethod.name) //ExecuteFunc compatibility
call OnAbilityCast('A000',mystruct.mymethod.name)
//for example, caster system's OnAbilityCast, requires a function name
endfunction
Взято из vjass manual.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован ledoed
смысле макросы, они ведь не хранят функцию
Отредактирован ledoed
смотри пример
Отредактирован Clamp
Отредактирован Doc