![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Larrr |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 128 Регистрация: 29.1.2006 Где: Прага Репутация: нет Всего: 2 |
Надо вычислить значение более сложного выражения, заданного в формате String во время runtime.
Например:
Надо вычислить значение выражения, заданного в строке: String s = "a.isA() && a.isB()"; Я смотрела Bean Shell, но он вроде с такими выражениями не работает - у меня по крайней мере не получилось и в их тюториале я ничего не нашла. Есть какой-нибудь изящный способ это вычислить? Ну или не очень изящный хотя бы. PS. Если вдруг что, класс А в моем проекте довольно сложный и писать его в скрипте целиком - никак. Цель не оправдает средства в смысле ![]() Это сообщение отредактировал(а) Larrr - 19.7.2007, 21:53 |
||||
|
|||||
nornad |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1079 Регистрация: 16.2.2007 Где: в Караганде Репутация: 16 Всего: 31 |
Может, стоит JavaScript использовать?
Добавлено через 43 секунды А... так тебе надо классы из твоего же проекта? Ну, тогда посмотри в сторону JXPath. -------------------- Три достоинства программиста: Леность, Нетерпение и Гордость Ларри Уолл |
|||
|
||||
ecologist |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 452 Регистрация: 28.2.2007 Репутация: 2 Всего: 9 |
А может попробовать компилировать класс и использовать его - надо поискать по форуму - проходило что-то о run-time compile
|
|||
|
||||
Larrr |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 128 Регистрация: 29.1.2006 Где: Прага Репутация: нет Всего: 2 |
Классы А и В уже скомпилированны - они в одном проекте находятся. Потом я динамически делаю строку вида как описано выше и надо вычислить ее значение. Или можно это сделать с помощью отдельного класса? |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Очень даже работает. Если ты использушь JDK 1.6, то тебе даже ничего больше и не требуется, все есть:
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Larrr |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 128 Регистрация: 29.1.2006 Где: Прага Репутация: нет Всего: 2 |
Спасибо. Я использую 1.5. Не подскажешь, можно ли как-то перенести его в 5 версию?
PS. Попробовала сделать так:
-выкидывается ошибка... Суть в том, что моя строка формируется динамически и в каждом случае она разная. Нужно в Engine импортировать предыдущий код или это делается как-то по-другому? Это сообщение отредактировал(а) Larrr - 20.7.2007, 16:46 |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Для BeanShell код будет выглядеть немного по другому:
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
Larrr |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 128 Регистрация: 29.1.2006 Где: Прага Репутация: нет Всего: 2 |
LSD, огромное спасибо!
![]() |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Пожалуйста
![]() P.S. Не забывай помечать вопрос решенным (кнопка над первым постом). -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |