1

我有一个 Java 库,它使用 Jython 允许用户添加自定义脚本以与库的特定部分进行交互。

让 Java 为脚本提供数据很容易,但假设我想在 Jython 脚本中遵循这种模式:

data = do_stuff()
# Heavy lifting! have the java lib do this
results = java_lib_help_me_out(data)
do_stuff_with_results(results)

可以轻松做到这一点吗?我意识到我可以使库充当服务并使用 REST 进行交互,或者我可以使用回调并使过程更加迂回:

data = do_stuff()
#heavy lifting
java_lib_help_me_out(data, callback)
...
def callback(results):
    do_stuff_with_results(results)

有一个更好的方法吗?

4

1 回答 1

2

只需让您的 java_lib_help_me_out() 函数将数据作为 Java 类或数组或其他任何内容返回,如下所示:

public String[] java_lib_help_me_out()
{
    return new String[] { "one", "two", "three" };
}

Jython 应该能够自动对其进行内省,并让您做所有您期望的事情。

如果这不起作用,也许发布更多详细信息?

于 2013-03-14T06:42:40.417 回答