【发布时间】:2014-03-21 20:27:41
【问题描述】:
今天,我有一个多年来一直在想的问题。
假设您在 Java 中有以下评估:
new EvaluationListener(){
public boolean evaluate(boolean[] b){
return b[0] || b[1];
}
}
我在我的程序中使用此代码来评估 b[0] 和 b[1] 的不同布尔值的术语,但这并不重要。
目前我将评估写入源代码,让程序运行并在命令行中观察结果。
现在我想知道如何在命令行中实现评估。我希望能够在命令行中输入评估术语,使用 BufferedReader 等读取它,而不是将其写入源代码。
有什么办法吗?我认为可以通过使用某种变量别名(如 $b0$)来实现。但是我怎样才能将逻辑 OR 和 AND 而不是传递给程序呢?
感谢您的回答
【问题讨论】:
-
我不确定我是否真的理解你的问题,但如果你想传递布尔值以及操作数,你可以使用
argsmain()方法。 -
搜索“Java”、“表达式”和“评估”
-
@Caumons 如果我理解正确,他正在寻找某种 Java REPL(但不是很清楚)。
-
在阅读@Nick Holt 给出的线程时,我想知道是否需要解析器?
-
查看
javax.scriptAPI - docs.oracle.com/javase/6/docs/api/javax/script/…