Всем привет, подскажите пожалуйста:
1.Нет ли у функций ограничения по параметрам? Может ли много параметров замедлить вызов/испольнение функции, которое будет заметно?
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 аргументов при вызове?
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
19
2 года назад
0
Даже если там и будут какие-то ограничения, это не проблема языка, что кто-то пытается передать в функцию 50 аргументов...
0
32
2 года назад
0
Аргументы, по сути те же локалки, запись в каждую значения - есть отдельные действия, чем больше аргументов у функции, тем медленее будет вызов, но офк, это слезы. Я не понимаю надобности передавать 50 аргументов, что уже мешает ключ к хт или ид структуру передавать чтобы обращятся к данным внутри функции? Потом как ты себе представляешь заполнение 100500 аргументов при вызове?
Принятый ответ
0
20
2 года назад
0
Дополню ответы выше.
  1. Ограничения на кол-во аргументов нет, есть лишь ограничение строки в 1023 символа (это лимит того, что парсится).
Однако, ни при каком условии такое большое кол-во аргументов не может иметь смысла (по крайней мере в Вар 3, да и как сказали выше, лучше тогда записывать в хештаблицу).
  1. Ответ выше был дан, разница будет в наносекундах, ты её не почувствуешь, но она конечно же есть. Любое дополнительное действие = больше времени на обработку. Даже длина названия функций и переменных влияет на скорость обработки.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.