문제

Java에는 ScriptEngine 시스템을 실행할 수 있습니다 /다른 언어로 진술을 평가하십시오.

JavaScript가 지원되는 사실을 알고 있지만 다른 언어를 찾을 수 없습니다.
예를 들어, 루비가 구현 되었습니까?

도움이 되었습니까?

해결책

.. JavaScript가 지원되는 사실을 알고 있습니다.

Ecmascript , 기술적으로.

..하지만 다른 언어를 찾을 수 없었습니다. 예를 들어, 루비가 구현 되었습니까?

아니오.ECMAScript 엔진은 기본적으로 내가 들었던 유일한 것입니다.

다른 팁

여기에 시스템에서 모든 언어를 결정하는 스크립트가 있습니다.

import java.util.List;
import javax.script.ScriptEngineManager;
import javax.script.ScriptEngine;
import javax.script.Bindings;
import javax.script.ScriptContext;
import javax.script.ScriptEngineFactory;


public class Test {

public static void main(String[] args)
{
    ScriptEngineManager mgr = new ScriptEngineManager();
    List<ScriptEngineFactory> factories = mgr.getEngineFactories();
    for (ScriptEngineFactory factory : factories)
    {
        System.out.println("ScriptEngineFactory Info");
        String engName = factory.getEngineName();
        String engVersion = factory.getEngineVersion();
        String langName = factory.getLanguageName();
        String langVersion = factory.getLanguageVersion();
        System.out.printf("\tScript Engine: %s (%s)\n", engName, engVersion);
        List<String> engNames = factory.getNames();
        for (String name : engNames)
        {
            System.out.printf("\tEngine Alias: %s\n", name);
        }
        System.out.printf("\tLanguage: %s (%s)\n", langName, langVersion);
        }
    }

}
.

희망이 도움이됩니다.

몇 가지 다른 언어가 있습니다.예를 들어 Jython (Java의 Python 구현).다른 언어를 사용하는 방법은 jar 파일을 클래스 패스에 추가하고 올바른 이름을 참조하는 것입니다.

루비의 경우 Jruby가 있습니다.다음을 참조하십시오 : https://github.com/jruby/jruby/wiki/javaintegration

ScriptEngineManager m = new ScriptEngineManager();
ScriptEngine rubyEngine = m.getEngineByName("jruby");
.

Java ScriptEngine API는 모든 JSR-223 스크립팅 언어에서 작동합니다. 나는 이것들이 이전에 잘 문서화 된 완전한 목록을 발견하지 못했지만이 게시물은 꽤 좋은 직업을합니까? 사용 가능한 목록을 어디에서 찾을 수 있습니까? JSR-223 스크립팅 언어? 그 게시물의 한 명의 목록이 있습니다.

JSR-223 스크립트 엔진

  • awk
  • beanshell
  • ejs
  • 프리 엠 마커
  • groovy
  • jaskell
  • 자바
  • 자바 스크립트
  • JavaScript (웹 브라우저)
  • jelly
  • jep
  • jexl
  • jst
  • judoscript
  • juel
  • ognl
  • pnuts
  • python
  • 루비
  • scheme
  • 수면
  • tcl
  • 속도
  • xpath
  • xslt

JSR 223 스크립트 엔진이 다른 곳에서 유지 관리

  • javafx 스크립트
  • abcl
  • AppleScript
  • BEX 스크립트
  • OCAML 스크립팅 프로젝트
  • php
  • php (다른 하나)
  • python
  • smalltalk
  • cajuscript
  • matheclipse

대부분은 일할 특별한 구현을 갖습니다. 예를 들어 Python만으로는 작동하지 않습니다. Jython Jar가 클래스 경로에 추가되어야합니다. 루비에 대해서는 Jruby가 필요합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top