Перейти к содержимому


Вопрос по BSH


Сообщений в теме: 5

#1 Clo

    Профи

  • Модераторы
  • 890 сообщений

Отправлено 16 Сентябрь 2009 - 18:51

Вопрос про BeanShell, есть в нем функция eval, и она запускает наши с вами скрипты, а может ли эта функция запустить функцию в коде?
Или подскажите как должен выглядеть код чтобы было что то типо:
String[] func = {"myFunction1", "myFunction2", "myFunction3"};
Interpeter bsh = new Interpeter();
for (int i = 0; i < func.length; i++) { bsh.eval(func[i] + "()"); }


#2 spec

    Администратор

  • Администраторы
  • 2 399 сообщений
  • ГородКаменск-Уральский

Отправлено 16 Сентябрь 2009 - 19:54

Функция сама по себе же не существует... Это метод какого-то класса. Передаешь в Interpeter объект класса и вызываешь его метод.
Если серьезно интересует работа с BeanShell рекомендую поглядеть исходники проекта jEdit - он там выполняет важную функцию, многому можно поучиться.

#3 Clo

    Профи

  • Модераторы
  • 890 сообщений

Отправлено 16 Сентябрь 2009 - 20:10

Меня не столько работа BeanShell интересует, сколько это. Хочу переписать так чтобы заменить текущую систему комманд чата. Есть парочка идей, но пока неумение не дает их реализовать.

#4 spec

    Администратор

  • Администраторы
  • 2 399 сообщений
  • ГородКаменск-Уральский

Отправлено 16 Сентябрь 2009 - 20:20

Все это будет, нужно только немного подождать.
Интерфейс команд: http://rm.jimbot.ru/repositories/entry/ ... mmand.java
Примеры реализации: http://rm.jimbot.ru/repositories/browse ... k/commands

#5 Clo

    Профи

  • Модераторы
  • 890 сообщений

Отправлено 16 Сентябрь 2009 - 20:54

Интересно конечно сделанно... Ладно, выходит лучше подождать со своими наполеоновскими планами до ближайшей бетки для узкого круга людей, чтобы пощупать всю красоту, и оценить твои старания :-)

#6 Clo

    Профи

  • Модераторы
  • 890 сообщений

Отправлено 02 Декабрь 2009 - 18:08

Вопрос, а beanshell может компилированые классы исполнять, я что то не нашел в примерах? Если нет то прошу в пятой версии сделать систему плагинов, желательно такую чтобы не нужно было изменять исходники бота но при этом сам плагин должен быть защищен от «дурака», во первых код должен быть закрытым, во вторых не каждый плагин должен начинать работу без некоего включения. Например в админке. Кстати, пароли от админки желательно шифровать в связи с новыми её возможностями.





Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых пользователей