2011-10-06 7 views
1

나는 편집자와 함께 약간의 프로젝트를 가지고 있는데, 내가 가진 특별한 필요와 함께 오후에 해킹했다. 동료가 내 어깨를 쳐다 보았다. (당신이 그것을 싫어하지 않습니까?) "오, 깔끔하다.하지만 X는 할 수 있니?"스칼라에서 스크립팅

따라서 새로운 것들을 배우고 그 작은 편집기에서 일부 확장을 사용할 수있는 필자의 필연적 인 필요성을 결합하려면 몇 가지 간단한 조작 함수를 거기에 넣고 싶습니다. 따라서 일부 스크립팅을 사용하고 싶습니다.

ScriptEngine에 대한 자습서를 찾았습니다. 문제가되지 않습니다. 문제는 단지 Rhino를 통해 JavaScript를 지원하는 것으로 보인다는 것입니다. apt-get : JRuby, Jython, Groovy를 통해 이들이 모두 설치되었지만 ScriptEngine은이를 알지 못합니다.

내가 선호하는 것은 내 build.sbt에 의존성을 떨어 뜨리는 것입니다. 어쩌면 누군가가 제대로 할 수있는 방법을 알고 있습니까?

JavaScript로 다시 시작하면 JDK가있는 모든 컴퓨터에 Rhino가 설치되어 있다고 가정 할 수 있습니까?

+1

가 나중에 JDK 버전 6으로 모든 컴퓨터에 설치되어있는 (버전 5도 작동 할 수) –

답변

0

Stir some Groovy into your Java apps은 ScriptEngine에 의존하지 않고 대신 groovy.lang.GroovyClassLoader을 사용하는 developerWorks 자습서입니다. 저는이 문제를 Scala에 적용하려고 시도했지만 의미가 없었습니다 (아직 진행 상황을 알려주십시오).

스칼라에 적응, 그 기억 :

ClassLoader parent = CLEmbedGroovy.class.getClassLoader(); 

가 기록됩니다

val parent: ClassLoader = classOf[CLEmbedGroovy].getClassLoader() 

는 또한 그 기사 아래 같은 GroovyScriptEngine 다른 흥미로운 옵션이 있습니다. SBT는 현명한 당신이 그냥 드롭 필요 ( source을) 생각 :

val groovyAll1.0Jsr = "groovy" % "groovy-all-1.0-jsr" % "05" 

행운을 빕니다!

1

다음은 Scala 인터프리터를 임베딩하는 방법에 대한 기사입니다. 그러나 이것은 당신이하고있는 일에 과잉 일 수 있습니다.

http://suereth.blogspot.com/2009/04/embedding-scala-interpreter.html

또한 직접 통역에 대한 scaladocs 볼 수 있었다. 그들이 정말 간단 조작 함수 인 경우

http://www.scala-lang.org/archives/downloads/distrib/files/nightly/docs/compiler/scala/tools/nsc/interpreter/package.html

, 당신은 파서 콤비를 사용하여 자신의 언어를 작성할 수 있습니다.

http://www.codecommit.com/blog/scala/the-magic-behind-parser-combinators

안전하게 코뿔소를 가정 할 수