AZJIO
![](http://forum.ru-board.com/board/avatars/private/AZJIO.gif)
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Parazit111 Цитата: AZJIO, а как бы вы посоветовали вызвать функцию из моего примера? | Реально я не вижу примера. Представь программа содержит некоторые опции, а ты ей посылаешь некую опцию о которой функция/программа не знает. Все опции принимаемая функция должна знать в совершенстве, некоторые могут быть по умолчанию какими то значениями, но все они должны быть для функции определены/необходимы для выбора ветвления алгоритма. Не может функция принять новую опцию и думать зачем это мне подсунули, что с этим делать. Теперь передача данных в функцию, например сложить числа. Чисел может быть 2, а может быть 1000. Это для функции не опции, а данные. То есть некоторая информация которую нужно обработать/переделать/конвертировать. Допустим есть данные, которые надо сложить и одно число, на которое надо умножить, естественно данные для сложения надо передать в одном массиве в одном параметре, а множитель в другом. Хотя можно всё передать в одном массиве, первый элемент массива множитель, остальные элементы массива - числа для сложения. В общем изменяемые данные не передаются параметрами функции, обычно это массив однотипных данных обрабатываемых внутри функции в цикле. Не знаю как сейчас с обфускатором, но раньше для него была проблема функция Call, Assign и т.д., потому что генерируемые имена функций и переменных заданы неявно, например Assign(1+2, 4) создаст переменную $3, обфускатор не может вычислить разношёрстные закидоны программиста, там может быть сложная формула, из переменных, значение которых заранее неизвестно, соответственно обфускатор не может знать имя переменной, а значит не может обработать скрипт, потому что испортит имена тех переменных, имена которых не должны изменятся по определению. А значит функции Call, Assign, которые можно не использовать, и даже это удобно их не использовать, кроме того в дополнение не создавая ещё и проблемы обфускации. Пример записи массива Код: Local $asMsg[3] = ['11111', '22222', '33333'] Local $asMsg[3] = [ _ '11111', _ '22222', _ '33333'] |
| Всего записей: 4579 | Зарегистр. 03-05-2006 | Отправлено: 21:52 14-02-2017 | Исправлено: AZJIO, 22:29 14-02-2017 |
|