2009-04-24 5 views
66

최근에 자바 프로그래밍에 많은 시간을 보냈습니다. 스크립팅 언어에서 놓친 한 가지는 콘솔에서 테스트하는 기능이었습니다.Java 용 Python과 같은 대화 형 콘솔이 있습니까?

Java 프로그램을 신속하게 테스트하려면 파일을 편집 한 다음 바이트 코드로 변환하고 실행해야합니다. IDE를 사용하더라도 372 시간이 지나면 재미가 없어집니다.

대화 형 콘솔 (JIT 컴파일러가 필요함)과 자동 완성 (재귀가 가능한 경우)이 가능한 제품이 있는지 알고 싶습니다.

자바 잘 클래스의 구조없이 정의되어 있지 않기 때문에 어쩌면, 나는 단지에 대해 또는 완전히 불가능한 것을 모르는 매우 일반적인 일이 있어요,하지만 완전히

답변

35

:-) 최악 묻고 곧. 그러나 가까운 근사값은 Groovy, Clojure, ScalaBean Shell입니다.

+5

자바 9. 이제 표준입니다. –

+1

동의. Emacs에서 [JDE] (http://jdee.sourceforge.net/)를 통해 BeanShell을 사용합니다. 그것은 완벽하지는 않지만 콘솔과 일반적인 Java 파일을 편집 할 때 양방향 콘솔과 적절한 완료 지원을 제공합니다. –

+0

사실, 그것은 매우 원시적이지만 아무것도 아닌 것보다 훨씬 낫습니다. 감사합니다. 코드화 된 사람 덕분에 :-) –

2

Groovy에 관심이있을 수 있습니다.

0

가끔 같은 문제가 발생하여 부분적인 해결책이 있습니다. 필자는 찰리 마틴 (Charlie Martin)이 말한 것처럼 Java가 클래스 컨텍스트를 필요로하는 파일 주위에 테스트 프로그램 이상을 유지합니다. 두 번째 창 (콘솔)에는 실행중인 스크립트가 있습니다.이 스크립트는 매초 또는 2 초마다 소스 파일의 수정 시간을 확인합니다. 소스 변경을 보았을 때, 소스 코드를 다시 컴파일하고 (보통 C로 바이올린을 치지 만, 자바로이 작업을 수행했다) 결과를 실행한다.

멋진 솔루션은 아니지만 빠른 일회용으로 매우 유용하다고 생각했습니다.

4

필자가 어느 정도 성공한 접근법은 Eclipse에서 디버그하고 디스플레이 뷰를 사용하는 것입니다. 디스플레이 뷰가 제공하는 것은 Java 문을 실행하여 현재 JVM에서 실행중인 코드를 조작하는 기능입니다. 중지 된 특정 중단 점에서 사용 가능한 모든 객체는 표시 뷰 내에 범위 내에 있습니다. 이것이 정확히 당신이 찾고있는 것은 아니지만 REPL이 다른 프로그래밍 환경에 제공하는 기능 중 일부를 제공합니다. 자세한 내용은 Debugging with the Eclipse Platform을 참조하십시오.

+0

나는 여전히 스칼라 IDE 이클립스 플러그인을 선호하지만, 플러그인을 설치하는 것이 바람직하지 않을 때 디버그 방식은 Eclipse JDT에 내장 된 "기능"인 REPL 인터프리터와 가장 비슷하다. :) –

+0

디스플레이 뷰에서 표현식의 값을 표시하는 방법은 무엇입니까? 예를 들어, 다음과 같이 쓰면 : String s = "Hello World", s1 = s.substring (3, 5); s1 값을 아는 방법은 무엇입니까? 나는 길을 찾을 수 없다. – zakmck

+0

's1'을 강조 표시 한 다음 상황에 맞는 메뉴를 불러올 수있다. 거기에 당신이 원하는 것을 할 수있는'Display'라는 항목이 있습니다. – laz

10

재미있게도 대화 형 콘솔을 사용하면 Jython! 을 많이 얻지는 않습니다. 더 파이썬과 같습니다.

4

스칼라 대화 형 인터프리터도 실행할 수 있습니다.

1

Jgrasp IDE에는 테스트 할 수있는 대화 형 콘솔이 있는데, 나는 그것을 많이 사용하며, 디버그 뷰에는 variabel 등이 표시됩니다. 이 있으면 해당 항목이 삭제됩니다.

이 opensoruce 그리고 당신은 당신은 임의의 자바 코드를 실행하는 BeanShell을 사용할 수 있습니다 http://www.jgrasp.org/

// 앤더스

+0

JGrasp를 둘러 보았지만 대화 형 콘솔을 찾을 수 없습니다. – Casebash

2

AT & T 사본을 얻을 수 있습니다. Eclipse 통합을 원한다면, EclipseShell은 BeanShell을 지원한다.

9

시도해보십시오. Dr Java's "상호 작용 창"인 IntelliJ 플러그인을 http://www.javarepl.com/term.html

+0

그래, 정말 그립 네. 이제 Eclipse로 바뀌지 만 Eclipse에서 상호 작용 창을 얻는 방법을 모르겠습니다. –

3

JShell 내가 BeanShell이다 좋아 JShell introduction

+0

이것은 투표에서 보이는 것보다 (11 월 이후) 더 나은 대답입니다. 어쩌면 심지어 받아 들여질 것입니다. – TGar

관련 문제