【发布时间】:2015-02-27 00:49:32
【问题描述】:
我需要使用 JRI 构建一个与 R 控制台类似的应用程序。问题是控制台有时会响应显示一行(例如,在下面输入x 之后),有时它不会(例如,在输入x = 1 之后)
我试图分析eng.parseAndEval(statement)(其中语句是在控制台上输入的命令),但不知道何时在控制台上显示响应,何时不显示。有什么想法吗?
【问题讨论】:
我需要使用 JRI 构建一个与 R 控制台类似的应用程序。问题是控制台有时会响应显示一行(例如,在下面输入x 之后),有时它不会(例如,在输入x = 1 之后)
我试图分析eng.parseAndEval(statement)(其中语句是在控制台上输入的命令),但不知道何时在控制台上显示响应,何时不显示。有什么想法吗?
【问题讨论】:
您看到的是 R 维护的可见性标志,它告诉常规事件循环何时打印,何时不打印。有关详细信息,请参阅 R 中的 withVisible。但是,您真的不想重新实现 R 事件循环。相反,JRI 允许您让 R 为您完成所有工作 - 您只需实现控制台回调 RMainLoopCallbacks 来处理所有控制台 I/O,然后启动事件循环。您可能想看看JGR - 它是一个使用 JRI 实现的 Java 控制台。
【讨论】: