Всем привет, подскажите пожалуйста:
1.Нет ли у функций ограничения по параметрам? Может ли много параметров замедлить вызов/испольнение функции, которое будет заметно?
2.Есть ли разница что функция принимает 5 значений(аргументов) или 50, возможно стоит заменить некоторые параметры переменными массивами, так как оптимальнее и эффективнее?
2.Есть ли разница что функция принимает 5 значений(аргументов) или 50, возможно стоит заменить некоторые параметры переменными массивами, так как оптимальнее и эффективнее?
function Missle takes unit Caster, real xCaster, real yCaster, real Angle,integer DummyId,real Speed,real Distance, real Radius, real Damage,real StunTime,real CastTime,integer SpellNumber,boolean Type_Heal, boolean Type_Damage returns nothing
или ,как пример, заменить часть параметров на глобалки:
boolean array Type_Heal
boolean array Type_Damge
set Type_Heal[SpellNumber]=true
set Type_Damage[SpellNumber]=falseПринятый ответ
Аргументы, по сути те же локалки, запись в каждую значения - есть отдельные действия, чем больше аргументов у функции, тем медленее будет вызов, но офк, это слезы. Я не понимаю надобности передавать 50 аргументов, что уже мешает ключ к хт или ид структуру передавать чтобы обращятся к данным внутри функции? Потом как ты себе представляешь заполнение 100500 аргументов при вызове?
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.

WC3




- Ограничения на кол-во аргументов нет, есть лишь ограничение строки в 1023 символа (это лимит того, что парсится).
Однако, ни при каком условии такое большое кол-во аргументов не может иметь смысла (по крайней мере в Вар 3, да и как сказали выше, лучше тогда записывать в хештаблицу).