Java 默认情况下,它也是捆绑的,并且与其他语言一样,您可以访问类路径上可用的所有包/对象。
然而,存在似乎是最新的和活动的 使用简单的类定义进行了尝试,效果很好Java 默认情况下,它也是捆绑的,并且与其他语言一样,您可以访问类路径上可用的所有包/对象。,java,read-eval-print-loop,Java,Read Eval Print Loop,然而,存在似乎是最新的和活动的 使用简单的类定义进行了尝试,效果很好 $ java -jar javarepl.jar Welcome to JavaREPL version 56 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_17) Type in expression to evaluate. Type :help for more options. java> public class Test { | public stat
$ java -jar javarepl.jar
Welcome to JavaREPL version 56 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_17)
Type in expression to evaluate.
Type :help for more options.
java> public class Test {
| public static void execute(String [] s) {
| System.out.println(54353 + s[0]);
| }}
java> Test.execute(new String [] {"234343"});
54353234343
java> System.exit(0);
老问题,但现在有一个更好的答案(2013年5月)-java REPL!它在上可用,也可在现场进行快速一次性测试 如果您获取git hub代码并运行
ant
来生成工件,您就可以轻松地使用一个小脚本,如:
#!/bin/sh
java -jar /home/rdahlgren/scripts/javarepl-dev.build.jar
自从找到这个项目,我可能每天使用5次。享受吧 有一个名为的简单IDE,它有一个交互控制台。它的工作原理完全符合我的预期。只需加载一个文件并开始与其中的对象进行交互。JavaReplBy工作得很好 您可以在此处直接从浏览器进行尝试: 这里提供了源代码,它有一个像样的Intelli-J插件 它是OpenJDK 9的一部分! 名为JShell(由Oracle开发)的REPL已作为JDK 9的一部分发布 只需下载JDK9,并启动
bin/jshell
资源
- OpenJDK项目
- Java增强建议
- 有一个在线回复:
键入更多以达到字符限制…对于java 8,有轻推4j。 看 。。。其美妙之处在于,您可以从浏览器中试用您的应用程序。是一个带有内置REPL的java scratchpad:
C:\>jpad
_ _____ _
| | __ \ | |
| | |__) |_ _ __| |
_ | | ___/ _` |/ _` |
| |__| | | | (_| | (_| |
\____/|_| \__,_|\__,_|
Anything you type is evaluated as java.
The code is continuously appended until you call \clear.
Other Available Commands:
\exit - exit
\clear (n) - clear past java statements
\history - display all past java statements
\help - display this help
j>2+2
4
j>Math.sin(100.1)
-0.4177477
j>
它还可以智能地转储集合、列表、地图等,并允许将它们呈现为表格或图表:
Java 9提供了JShell
jshell> println( "Print me!")
jshell> Print me!
自2018年9月发布JDK 11以来,
java
命令允许启动单个java源代码文件。请参阅bug报告,并且Eclipse有一个“显示”视图,该视图与我想要的接近。问题是,它必须在运行应用程序的上下文中。我必须运行一个应用程序,在断点处停止,然后才能键入所需内容。@YoniRoit IMHO我更喜欢“显示”+调试模式,而不是命令行REPL。很久以前,我使用REPL w/Python,所以我已经完成了这两项工作。我认为编写一个单元测试并放置一个断点,在将任何代码粘贴回单元测试的同时使用所需的上下文要好得多。在普通REPL中获得准确的上下文比单元测试要困难得多。还有Jython和JRuby交互式shell,用于不太详细的语法。BeanShell作为BeanShell 2积极维护-从命令行@hshib运行BeanShell的一个简单示例:现在是,最后一次提交是从2013年开始。这不是“积极维护的”。@MartinSchröder,那是在2013年发表的评论:-)我知道我可以使用GroovyShell,但groovy没有与Java完全相同的语义,也没有类型检查。因此,我可能会遇到编译错误,或者一段Java代码在Groovy shell中运行时出现不同的行为。Groovy也会在~/.Groovy/lib中加载所有lib,您可以复制其中的内容,也可以继续使用symlinksis beanshell维护?beanshell作为beanshell 2-@hshib:No进行积极维护。github上的最后一次提交是从2013年开始的。谢谢。Beanshell在splash上为我计时,但这非常有效。我已经使用Eclipse很久了,但不知道这一点,谢谢!尽管剪贴簿页面可能很有用,但它不是一个持久会话,因此实际上不如REPL工作得好。是的,有:Java引入了它:imageshack上不再存在屏幕截图。groovy控制台特别好的地方是默认情况下导入了更多的包(例如Java.util.*),因此,您不需要为那些懒得安装Groovy的用户编写太多导入语句,这里提供了此控制台的在线版本:。一些JDK库不可用(例如I/O和System.exit()
),但对于大多数目的来说,它应该足够了。这不接受类,这正常吗<代码>类测试{publicstaticvoidtest(){System.out.println('test')}这很有趣。Bluej就像一个oprepl。对于您当前使用repl的东西来说,这不是很有用,但是您可以使用它来原型化您的oo设计,就像使用repl原型化方法一样。没有维护。在线repl的链接现在似乎是旧的链接,只显示Java错误。
Needs["JLink`"]
LoadJavaClass["java.net.InetAddress"]
InetAddress`getAllByName["localhost"]
{<<JavaObject[java.net.Inet4Address>>}
#@toString[]& /@ %
{"localhost/127.0.0.1"}
this.class.classLoader.rootLoader.addURL(new URL("file:///path to file"))
$ java -jar javarepl.jar
Welcome to JavaREPL version 56 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_17)
Type in expression to evaluate.
Type :help for more options.
java> public class Test {
| public static void execute(String [] s) {
| System.out.println(54353 + s[0]);
| }}
java> Test.execute(new String [] {"234343"});
54353234343
java> System.exit(0);
#!/bin/sh
java -jar /home/rdahlgren/scripts/javarepl-dev.build.jar
C:\>jpad
_ _____ _
| | __ \ | |
| | |__) |_ _ __| |
_ | | ___/ _` |/ _` |
| |__| | | | (_| | (_| |
\____/|_| \__,_|\__,_|
Anything you type is evaluated as java.
The code is continuously appended until you call \clear.
Other Available Commands:
\exit - exit
\clear (n) - clear past java statements
\history - display all past java statements
\help - display this help
j>2+2
4
j>Math.sin(100.1)
-0.4177477
j>
jshell> println( "Print me!")
jshell> Print me!