파이썬의 대화식 REPL 모드와 같은 것이 있지만 Java 용입니까? 예를 들어 InetAddress.getAllByName( localHostName )
창에 입력 하고 즉시 결과를 얻을 수 있도록이 모든 public static void nightmare () 일없이?
파이썬의 대화식 REPL 모드와 같은 것이 있지만 Java 용입니까? 예를 들어 InetAddress.getAllByName( localHostName )
창에 입력 하고 즉시 결과를 얻을 수 있도록이 모든 public static void nightmare () 일없이?
답변:
편집 Java 9부터 JShell이 있습니다.
원래 대답은 다음과 같습니다.
Groovy Console을 사용할 수도 있습니다 . 원하는 것을 할 수있는 대화 형 콘솔입니다. Groovy에는 핵심 Java 플랫폼의 클래스도 포함되어 있으므로 이러한 클래스도 사용할 수 있습니다.
다음과 같이 보입니다.
System.exit()
) 대부분의 경우 충분합니다.
class test{public static void test(){System.out.println('test')}}
Eclipse에는 루프가 아니지만이를 수행하는 기능이 있습니다. "스크랩북 페이지"라고합니다. 나는 당신이 작은 코드 조각을 수집하는 스크랩북을 가지고 있다고 비유한다고 가정합니다.
어쨌든, 작동하게하려면 Eclipse에서 프로젝트를여십시오 (스크랩북 페이지는 프로젝트와 연결될 것입니다. Eclipse는 프로젝트가 사물을 소유 할 때 좋아합니다).
그때:
이제 스크랩북 페이지가 있습니다. 다음과 같은 코드를 입력하십시오.
System.out.println(System.getProperties());
그런 다음 마우스로 텍스트를 선택하고 Control-U를 누르거나 컨텍스트 메뉴에서 "실행"을 선택합니다. 코드가 실행되고 출력이 콘솔에 나타납니다.
식을 입력하고 선택한 다음 상황에 맞는 메뉴에서 표시를 선택할 수도 있습니다. 표현식을 평가하고 유형을 인쇄합니다. 예를 들어 Display on 1 + 2
을 실행 하면 (int) 3
.
BeanShell은 Java로 작성된 개체 스크립팅 언어 기능을 갖춘 작은 무료 임베드 가능한 Java 소스 인터프리터입니다. BeanShell은 표준 Java 구문을 동적으로 실행하고 느슨한 유형, 명령 및 Perl 및 JavaScript와 같은 메소드 클로저와 같은 일반적인 스크립팅 편의를 통해이를 확장합니다. BeanShell을 Java 실험 및 디버깅을 위해 대화식으로 사용할 수있을뿐만 아니라 새로운 방식으로 애플리케이션을 확장 할 수 있습니다. 스크립팅 Java는 신속한 프로토 타이핑, 사용자 스크립팅 확장, 규칙 엔진, 구성, 테스트, 동적 배포, 임베디드 시스템, 심지어 Java 교육을 포함한 다양한 애플리케이션에 적합합니다.
http://www.beanshell.org/manual/syntax.html#Standard_Java_Syntax
Eclipse 스크랩북 페이지를 사용할 수 있습니다.
Eclipse에서 스크랩북 페이지를 만듭니다. 프로젝트에서 새로 만들기-> 기타-> 스크랩북 페이지.
파일에 텍스트를 입력하고 선택하고 ctrl-U를 누르면됩니다.
가져 오기를 관리하려면 페이지를 마우스 오른쪽 단추로 클릭하고 가져 오기 설정을 선택하십시오. 여기서 패키지 또는 단일 클래스 가져 오기를 선택할 수 있습니다. 이것은 영구적이며 페이지와 함께 저장됩니다.
오래된 질문이지만 더 나은 답이 있습니다 (2013 년 5 월)-java-REPL! github 에서 사용할 수 있으며 빠른 일회성 테스트를 위해 java-repl 웹 사이트 에서 라이브로 사용할 수도 있습니다 .
git 허브 코드를 잡고 실행 ant
하여 아티팩트를 생성하면 다음과 같은 작은 스크립트를 사용하여 쉽게 사용할 수 있습니다.
#!/bin/sh
java -jar /home/rdahlgren/scripts/javarepl-dev.build.jar
이 프로젝트를 찾은 후 나는 아마 하루에 5 번 그것을 사용합니다. 즐겨!
아직 아무도 Java (6, 7)가라는 REPL 콘솔을 제공한다고 언급하지 않은 것 같습니다 jrunscript
. 언어에 구애받지 않습니다 (따라서 Jython, JRuby 등과 함께 사용할 수 있음). 또한 기본적으로 번들로 제공되는 JavaScript (Rhino)로 기본 설정되어 있으며 다른 언어와 마찬가지로 클래스 경로에서 사용 가능한 모든 패키지 / 객체에 액세스 할 수 있습니다.
JDK 9의 일부로 JShell (Oracle에서 개발) 이라는 REPL 이 릴리스되었습니다.
JDK 9를 다운로드하고 bin/jshell
.
Groovy의 대안으로 Beanshell을 사용해보십시오 : http://www.beanshell.org/
Java와 비슷하며 Java 구문을 직접 사용할 수 있습니다.
Albert Latacz의 Java-REPL이 잘 작동합니다.
여기 브라우저에서 직접 시도해 볼 수 있습니다 : http://www.javarepl.com/term.html
소스 코드는 여기에서 사용할 수 있으며 적절한 Intelli-J 플러그인이 있습니다.
Scala 는 대화 형 콘솔도 제공합니다. 다음과 같이 InetAddress를 완전히 정규화하여 질문의 식에 대한 결과를 얻는 데 사용할 수있었습니다.
java.net.InetAddress.getAllByName("localhost")
하지만 JRuby를 , BeanShell이다 , 줄리안 플레이 셔의 REPL이 거기 알버트 Latacz의 REPL은 최신 활성화 될 것으로 보인다.
간단한 클래스 정의로 시도했지만 잘 작동합니다.
$ 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);
Mathematica에 액세스 할 수있는 사용자를 위해 JLink를 사용하면 Mathematica 코드로 Java 및 스크립트에 액세스 할 수 있습니다.
Needs["JLink`"]
LoadJavaClass["java.net.InetAddress"]
InetAddress`getAllByName["localhost"]
평가하기 위해 Shift-Enter를 누르면
{<<JavaObject[java.net.Inet4Address>>}
그런 다음 Mathematica의 Map 함수를 사용 toString
하여 반환 된 객체 를 호출 할 수 있습니다 .
#@toString[]& /@ %
결과를 얻으려면 (또는 덜 모호한 구문을 사용하려면 Map[Function[obj, obj@toString[]], %]
) :
{"localhost/127.0.0.1"}
이것에 대해 진지하게 생각하기 시작하면 http://reference.wolfram.com/mathematica/JLink/tutorial/Overview.html 에서 Todd Gayley의 튜토리얼을 읽고 싶을 것 입니다.
이미 Groovy를 알고 있다면 (Groovy 콘솔을 언급 했으므로 알고 있다고 가정합니다) Groovy 배포판에 포함 된 groovysh 또는 groovyConsole을 사용하십시오. 가져 오려는 사용자 지정 jar가있는 경우 클래스 경로에 추가 된 항목으로 groovysh / groovyConsole을 시작하는 배치 파일을 작성할 수 있습니다. 당신은 또한 이것을 할 수 있습니다
this.class.classLoader.rootLoader.addURL(new URL("file:///path to file"))
셸 내에서 다른 항아리를로드합니다.
나는 몇 년 전에 당신이 요구하는 것을하기 위해 자이 썬을 사용했다. 빌드 스크립트의 일부로 작업중인 프로젝트의 전체 클래스 경로를 포함하는 사용자 지정 jython.bat 및 .py 파일을 생성했습니다. 그런 식으로 자이 썬을 시작했을 때 모든 코드를 사용할 수 있고 스프링을 불러 와서 라이브 시스템에서 작업을 할 수있게되었습니다. Groovy, JRuby, BeanShell 등에서 동일한 작업을 수행 할 수 있습니다.
jruby http://kenai.com/projects/jruby/pages/CallingJavaFromJRuby를 사용하여 자바 스크립트를 작성할 수 있습니다.
대부분의 IDE에는 즉석에서 자바 코드를 평가할 수있는 "즉시 모드"와 같은 창이 있습니다.
온라인 REPL이 있습니다 : http://www.javarepl.com/console.html
글자 수 제한에 도달하기 위해 더 많이 입력하는 중 ...
Java 8의 경우 nudge4j가 있습니다. 참조 https://github.com/lorenzoongithub/nudge4j를
... 그리고 장점은 브라우저에서 애플리케이션을 파일럿 할 수 있다는 것입니다.
JPad 는 REPL이 내장 된 자바 스크래치 패드입니다.
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!