파이썬에서는 eval()을 사용하여 프로그램에서 사용자가 입력 한 코드를 실행할 수 있습니다. Groovy에서 할 수있는 비슷한 점이 있습니까? 사용자가 원하는 코드를 입력 할 수있는 SWING UI 텍스트 상자를 갖고 싶습니다.Groovy에서 eval()과 같습니다.
감사합니다, 하리
파이썬에서는 eval()을 사용하여 프로그램에서 사용자가 입력 한 코드를 실행할 수 있습니다. Groovy에서 할 수있는 비슷한 점이 있습니까? 사용자가 원하는 코드를 입력 할 수있는 SWING UI 텍스트 상자를 갖고 싶습니다.Groovy에서 eval()과 같습니다.
감사합니다, 하리
이 (그러나 어떤 스크립트 언어의 평가와 평소와 같이 악성 코드 exeution에주의) 시도 :
evaluate("print new Date()")
내부에서 모두 멋져요 (실행의 여러 가지 방법이 있습니다 자바와 그루비) : 가장 빠른 방법 그러나
http://groovy.codehaus.org/Embedding+Groovy
(간단한 스크립트
Eval.me('2 + 2')
이 더 많은 예제에서이 페이지를 참조하십시오 :
http://mrhaki.blogspot.com/2009/11/groovy-goodness-simple-evaluation-of.html
감사합니다. – Hari
을 할 것
http://groovy.codehaus.org/api/groovy/util/Eval.html
같은 것을 수행)는 평가 클래스를 사용하는 아마 예, Groovy에서 Eval.x, Eval.xy, Eval.xyz 또는 Eval.me를 사용하여 동적으로 코드를 평가할 수 있습니다. 이러한 방법에 대한 자세한 내용은 the API doc을 참조하십시오.
예를 들어,이 같은 Eval.me를 사용
또한def a = "hello"
def b = "world"
Eval.me(""" println "$a $b" """)
--> hello world
당신은'Eval.xy (a, b, 'println "$ x $ y"')를 확실히 의미합니까? ;-) –
좋은 캐치, 고마워. Eval.x에서 Eval.me로 변경되었습니다. Eval.xy 대 Eval.x의 사용에 대해 - 선호도의 문제입니다. 이 경우 둘 중 하나를 사용할 수 있습니다. 또한 '또는' ''을 사용할 수 있습니다. –
를 참조 내 사용자 정의 문법에 코드의 작은 조각을 실행하려고 - 확실히 악성 코드를 확인합니다 . – Hari