Сольные
Cольные функции - функции, созданные непосредственно программистом (не cистемой) в рамках данного проекта (часто используемые функции, применяемые в нескольких проектах, разработчику рекомендуется хранить в отдельных библиотеках).
Сольные функции могут быть созданы и удалены программистом. Они могут быть переименованы. Список их входных параметров может быть изменён.
Для создания сольной функции необходимо перейти в часть Front-функции раздела Code, затем нажать и ввести имя функции. Имя должно быть уникальным и непустым. При выполнении этих требований, функция без аргументов будет создана. Чтобы добавить созданной функции список входных параметров, нужно вызвать правой кнопкой мыши всплывающее меню и выбрать пункт Change parameter list. В диалоговом окне нужно ввести список параметров, как если бы вы вводили его в обычном коде внутри уже поставленных круглых скобок.
Давайте по этой методике создадим функцию. Дадим ей имя outFunc. Дадим ей список параметров из одного аргумента inStr. А в тело поместим
alert(inStr);Затем, как обычно, сложим в модуль кнопку и в её обработчике Signal.click запишем
outFunc("Any string");, сохраним, перезагрузим, нажмём...
Ничего не произошло. Почему? Потому что в sFF это работает по-другому. Можно, конечно, было бы использовать также реализованный нами механизм динамического создания HTML-элементов script в странице, но, следуя концепции sFF, программист должен иметь доступ ко всем его подобъектам, находящимся, по возможности, внутри $_GAOS, иметь возможность управлять ими (создавать, изменять и удалять) в процессе выполнения кода приложения, иметь к ним единообразную методику доступа.
Поэтому, чтобы вызвать пользовательскую функцию outFunc(inStr), необходимо в обработчике нажатия кнопки написать следующее
$_GF("outFunc")("Any string");Вот теперь всё работает.
Сразу предупредим: кто не желает использовать предложенный нами механизмом пользовательских функций, может писать их в привычном виде, сохранять их во Front-библиотеках и вызывать обычным способом. Но он должен понимать, что лишает себя возможности создавать функции в процессе работы уже выполняющегося приложения, менять их динамически "на лету" в зависимости от программной ситуации.
В sFF существует три собственных метода для работы с пользовательскими функциями:
$_GF().add(fooNam, fooBod, fooPar) - создание новой функции. Если функция с таким именем уже существует, в консоль будет выведено предупреждение об этом и о невозможности создать функцию с таким именем вновь.
$_GF().rename(oldNam, newNam) - переименование существующей функции.
$_GF().rearm(fooNam, fooBod, fooPar) - переобъявление функции с новым кодом и параметрами.
Примеры
Кроме этого $_GF() как карта (как и большинство объектов $_GAOS), предоставляет ещё два метода из собственных, которыми можно пользоваться при работе с функциями:
$_GF().has(fooNam) - проверка существования функции.
$_GF().delete(fooNam) - удаление функции.
Last updated