Подтвердить что ты не робот

Есть ли интерактивный интерпретатор для Java?

Я хочу выполнить java-команды в интерактивном режиме из оболочки: есть ли способ сделать это?

4b9b3361

Ответ 1

Ближайшая вещь, о которой я знаю, BeanShell.

Ответ 2

Не интерактивный интерпретатор или оболочка, но рассмотрите страницы закладок Eclipse.

Инструментарий разработки Java (JDT) вносит вклад в могут быть использованы для экспериментов и оценки Фрагменты кода Java перед созданием полная программа Java. Фрагменты отредактировано и оценено в Scrapbook редактор страниц, с результирующими проблемами сообщается в редакторе.

В редакторе записной книжки Java вы можете выберите фрагмент кода, оцените его, и отобразить результат как строку. Вы также можете показать объект, который результаты оценки фрагмента кода в представлении выражений отладчиков.

Бонус: записки - это функция Eclipse по умолчанию, поэтому вам не требуется устанавливать что-либо, чего у вас еще нет.

Ответ 3

Я бы рекомендовал использовать DrJava http://drjava.org/. Это может служить вашей цели

Ответ 4

Нет, невозможно (насколько я знаю) писать и запускать произвольные фрагменты java в интерактивном режиме из командной строки.

Я искал нечто подобное несколько лет назад. Там BeanShell и JDistro, которые имеют некоторые элементы оболочки pure-Java. Самое близкое, что я когда-либо находил, было jsh, который, как я помню, был каким-то университетским проектом, никогда не встречал никакой популярности и был оставлен.

Ответ 5

Я думаю, что этот человек хотел бы сделать что-то вроде следующего гипотетического примера java --cmd 'int x=5; System.out.print(x);'

Вы можете написать свою собственную программу, позвонив ей java-snippet, которая имеет одну строку аргументов командной строки под названием code. Вставьте фрагмент кода во временный файл.

...main(...) {
    //vvv your program inserts code here vvv
    //INSERT_CODE_MARKER
    //^^^                                ^^^
}

Затем ваша программа java-snippet компилирует временный файл и сразу запускает его.

[edit: кажется, что оригинальный плакат на самом деле этого не хочет, но хочет интерактивный Java-интерпретатор - оставим этот ответ здесь для потомков]