BeanShell:
http://www.beanshell.org/
BeanShell Interpreter的使用:
http://www.beanshell.org/javadoc/bsh/Interpreter.html
http://ytuwlg.iteye.com/blog/326276
引用
import bsh.Interpreter;
public class ExpBeanShell {
public static void main(String[] args) {
System.out.println("start:");
try {
// Construct an BeanShell interpreter
Interpreter i = new Interpreter();
i.set("x1", 5); // Set variables
i.set("x2", 5); // Set variables
i.set("x3", 5); // Set variables
i.set("x4", 5); // Set variables
i.set("x5", 5); // Set variables
// Eval a statement and get the result
i.eval("x6=x1+x2+(x3+x4)/x5*10");
i.eval("x7=4.5555-x6");
System.out.println("x1:" + i.get("x1"));
System.out.println("x2:" + i.get("x2"));
System.out.println("x3:" + i.get("x3"));
System.out.println("x4:" + i.get("x4"));
System.out.println("x5:" + i.get("x5"));
System.out.println("x6:" + i.get("x6"));
System.out.println("x7:" + i.get("x7"));
} catch (Exception e) {
e.printStackTrace();
}
System.out.println("end:");
}
}
输出:
引用
start:
x1:5
x2:5
x3:5
x4:5
x5:5
x6:30
x7:-25.444499999999998
end
分享到:
相关推荐
在这个例子中,我们创建了一个`Interpreter`对象,这是BeanShell的主要入口点,通过`eval`方法可以执行任意的BeanShell或Java表达式。在这个情况下,我们执行了"1+2"的算术操作,并将结果打印出来,输出为3。 ...
2. **启动BeanShell**:在Java程序中,你可以通过`bsh.Interpreter`类创建一个BeanShell解释器实例。初始化后,你可以向这个解释器传递Java代码字符串,它会立即执行。 3. **执行Java代码**:BeanShell支持动态执行...
1. **Interpreter**:这是Beanshell的核心,它负责解析和执行脚本。你可以创建一个`Interpreter`实例,并调用`eval()`方法来执行一段脚本字符串。 2. **命令行界面**:Beanshell也提供了命令行工具,可以直接执行...
- **bsh_2.0b5 包含的源码文件:** 这个压缩包中的源码可能包含`bsh`包,其中包括了BeanShell的核心组件,如`Interpreter`类,负责解析和执行脚本,以及各种辅助类,如`SimpleNameSpace`,用于管理变量和对象的命名...
Beanshell 是一个轻量级的Java源代码解释器,它允许开发者通过脚本语言的方式执行Java语句和表达式。由于其小巧的体积(jar文件大小仅为175k), Beanshell 很容易被嵌入到其他Java应用程序中,提供动态的脚本支持。...
### BeanShell脚本语言及其逻辑判断应用 #### 一、BeanShell简介 BeanShell是一种轻量级的脚本语言,其语法与Java高度兼容。它不仅支持标准的Java语法,还具备自己的特性和方法,使其成为开发环境中进行快速原型...
### BeanShell快速入门Java应用知识点详解 #### 一、BeanShell简介 BeanShell是一款轻量级的可嵌入式Java源代码解释器和工具。它不仅支持完整的Java语法,还提供了一些额外的功能,如松散的数据类型处理和内置的...
BeanShell-简单的Java脚本 BeanShell的官方活动项目主页。注意:待发布新版本唯一推荐的版本是master分支的手动构建。 对旧版本的支持达到了行尾,只能接受针对主版本的问题和拉取请求。 下一个版本将是概述的...
接下来,我们可以创建一个`Interpreter`实例,这是BeanShell的核心组件,它负责解析和执行代码。 ```java import bsh.Interpreter; Interpreter interpreter = new Interpreter(); ``` 然后,我们可以用`...
在“bsh架包”中,主要包括了Beanshell的核心类库,如`bsh/BshClassManager`、`bsh/Interpreter`等。`BshClassManager`是Beanshell的类加载器,负责管理类的加载和实例化。`Interpreter`是Beanshell的核心,它解析和...
1. **加载BeanShell引擎**:通过创建`bsh.Interpreter`实例来初始化BeanShell引擎。 2. **执行脚本**:使用`Interpreter.eval()`方法来执行BeanShell脚本代码。 示例代码如下: ```java import bsh.*; public ...
2. 创建BeanShell解释器:通过`bsh.Interpreter`类实例化一个解释器对象,这是执行BeanShell脚本的核心。 3. 执行BeanShell脚本:调用`Interpreter`对象的`eval()`或`source()`方法,传入脚本字符串或脚本文件路径,...
对于含有运算的表达式,可以使用BeanShell的`Interpreter`类来计算最终结果: ```java Interpreter ii = new Interpreter(); int result = (Integer) ii.eval(replacedStr); ``` ##### 4. 完整代码示例 下面是一个...
- **Reset bsh.interpreter before each call**: 决定是否在每次调用前重置解释器。 - **Parameters**: 用于传递参数到BeanShell脚本。 - **Script file**: 指定包含脚本的文件路径。 - **Script**: 直接在...
OpenBeanPie打算实现与BeanShell Java Interpreter的集成以及WiiRemoteJ上的一点抽象/简化层,以便为控制Nintendo Wiimotes行为的脚本获取解释器。
Interpreter interpreter = new Interpreter(); interpreter.eval("println('Hello, World!');"); ``` 5. **Groovy**: Groovy是一种强大的、动态的JVM语言,可以很容易地与Java代码集成。你可以创建一个`...