0

Graalvm jdk使用Truffle 框架来调用函数并接收来自其他语言的对象,例如 R、Python、Ruby 和 Javascript。如何从 Groovy 使用它?我可以使用 Groovy 代码调用它的 API 吗?还是我必须使用 Java 代码调用 Truffle API,然后从 Groovy 调用这个 Java 代码?

4

1 回答 1

1

您可能对 Truffle API 不感兴趣,它是用于开发基于 Truffle 的新语言的 API,但对 Graal SDK:用于将 Truffle 语言嵌入 Java 应用程序的 API 感兴趣。我猜你可以像使用任何其他 Java API 一样使用 Groovy 中的那个 API。

一些资源:

https://www.graalvm.org/docs/reference-manual/embed/

https://www.graalvm.org/sdk/javadoc/index.html?org/graalvm/polyglot/Context.html

TL;Java 中的 DR 示例:

import org.graalvm.polyglot.*;
import org.graalvm.polyglot.proxy.*;

public class HelloPolyglot {
    public static void main(String[] args) {
        System.out.println("Hello Java!");
        try (Context context = Context.create()) {
            context.eval("js", "print('Hello JavaScript!');");
        }
    }
}
于 2019-10-08T20:22:16.970 回答