Java脚本编程:从JKScript引擎到JavaFX中的Groovy应用
1. Java中导入类
Groovy运行在JVM之上,因此可以像在Java类文件中一样,将标准库中的Java类导入到Groovy脚本中。对于项目中包含的库提供的类以及项目中定义的类,同样适用。示例代码如下:
// A class from the standard library
import java.text.SimpleDateFormat
// A class defined elsewhere in the project
import java17.script.SomeJavaClass
// Some library class. Must be inside the classpath.
import com.foo.superlib.Foo
def obj = new SomeJavaClass(8)
def sdf = new SimpleDateFormat("yyyy-MM-dd")
def foo = new Foo()
其他脚本语言可能有自己导入Java类的方式,具体可查阅其文档。
2. 实现脚本引擎
实现一个完整的脚本引擎并非易事,这里将实现一个简单的脚本引擎——JKScript引擎,用于计算算术表达式。其规则如下:
- 计算由两个操作数和一个运算符组成的算术表达式。
- 操作数可以是两个数字字面量、两个变量或一个数字字面量和一个变量,数字字面量必须为十进制格式,不支持十六进制、八进制和二进制数字字面量。
- 表达式中的算术运