Вложенные скрипты. Скрипт в скрипте )



  • Сразу грубый пример, чтобы стало понятно:
    Есть у нас 5 скриптов, отдельных, независимых.
    Есть еще один шестой скрипт (ну пусть будет регер mail.ru).
    Задача: использовать 6 скрипт в других 5ти. При этом не копируя его внутрь остальных 5. Т.е. нужна возможность подключать скрипт №6 внутрь других скриптов.
    Указали путь к скрипту, указали сопоставимые переменные (из каких переменных(скрипт, который "вызывает") в какие переменные(вызываемому скрипту) передавать значения). Скрипт 6 выполнил свои дела, отдал результаты и все.

    Суть: модульность. Например, скрипт 6 нужно часто менять. И чтобы не менять его во всех 5ти скриптах, мы поменяем только в одном.

    Как обычные функции. Что-то принимаем на вход, что-то возвращаем.

    Но тут спешить не нужно, т.к. надо все продумать (например, если в скрипте 6 используется браузер, то открывать отдельный инстанс или же использовать в контексте основного скрипта(с которого идет вызов), т.е. какой контекст вообще использовать), Как будет себя вести вызов скрипта , если в вызываемом скрипте произойдет fatal error (например, логично, что в вызове должно произойти исключение и мы могли его перехватить)... ну и другие нюансы. Просто если требование актуальное (оно то актуальное, только не понятно, на каком этапе его внедрять, сейчас, или когда будет аудитория БАС еще больше), то нужно всем обсудить, как это сделать проще для юзеров.



  • @out - поддерживаю, было бы не плохо иметь возможность конструировать скрипт из готовых функций, то есть имеем библиотеку функций (дополняемую) - и действием вызвать функцию - конструируем то что необходимо - это касательно общих "сложных" элементов, содержащих в себе несколько действий, которые могут быть регулярно использованы в различных проектах, как пример - отключение загрузки картинок - то есть это функция которая содержит несколько действий с отключением самых распространенных расширений - я использую такие в каждом скрипте и приходится - открывать скрипт где уже содержится функция - открывать функцию - копировать и так далее - а так вызвал функцию - выбрал библиотеку - выбрал функцию...



  • @out

    Сейчас эта проблема решается созданием модуля "Регистрация mail.ru"
    Преимущества такого подхода:

    1. Модуль может иметь одно или несколько действий.
    2. Каждое действие может иметь сколько угодно входных параметров и даже произвольный интрефейс на хтмл, как веб страница.
      Например, модуль регистрации mail.ru может иметь несколько входных параметров - ресурс с прокси, ресурс с логинами, ресурс с данными пользователя, на выходе переменные: Удачная ли была регистрация, Текст ошибки, Логин, Пароль, Ип.
    3. Модуль можно передать/продать другому разработчику как архив.

    Чего пока нет, но будет

    1. Возможность продавать модуль в магазине.
    2. Возможность объединять несколько действий в один модуль и конструктор интерфейса для каждого действия.


  • @out думаю можно вот это попробовать как костыль http://community.bablosoft.com/topic/574/запуск-скриптов-bas-двойным-щелчком



  • @support про модули знаю, но на практике не юзал. Там ведь нужно писать на c++ or javascript (тем более пока ведь нет документации по всем методам БАСа). А то, о чем я писал, это возможность создавать такие модули встроенным конструктором БАС. Или ты проще напишешь конвертер со скрипта созданного в конструкторе в код для модуля ) Тогда мы сможем создавать модули свои без знаний JS.



  • @out Сейчас можно копировать код js в код модуля, позже можно будет делать это визуально.


Log in to reply