这个问题与以下内容有些相关: GraalVM - Using Polyglot Value without a context
在我的应用程序中,以客户语言运行的代码片段不需要知道注入的参数(通过绑定成员)是 Java 参数。相反,对于用客语开发的人来说,论点应该看起来只是客语本身的另一个论点。
例如,我想要一个从我的 Java 主机语言注入到 JS 来宾脚本的数组,以这种方式:
Value guestLanguageBindings = context.getBindings(scriptData.getLanguage().toString());
guestLanguageBindings.putMember(argumentName, argumentValue);
Run Code Online (Sandbox Code Playgroud)
作为 JS 数组“到达”来宾语言,而不是像现在正在发生的 java.util.ArrayList。
目前,我通过将每个非原始类型(我注意到 String、int 等作为 JS“类型”到达 JS)转换为 JSON 并转换回来宾语言来解决这个问题。
这有效,但我想知道是否有更合适的方法来做到这一点,或者确实使用绑定是正确的方法?
谢谢!
graalvm ×1