深入探索Groovy DSL:从基础到高级特性
1. 为DSL添加命令行接口
为了让领域特定语言(DSL)更具实用性,我们可以为其添加命令行接口。这样一来,我们就可以通过DSL命令来加载它,而不是直接调用DSL。这不仅能让我们更好地控制DSL的运行环境,还能处理一些基础设置,比如为 String 类添加 search 方法。
在Groovy中,添加命令行接口非常简单,以下是示例代码:
#!/usr/bin/env groovy
String.metaClass.search = { Closure c ->
GeeTwitter.search(delegate, c)
}
if (args)
evaluate(new File(args[0]))
else
println "Usage: GeeTwitter <script>"
上述脚本是启动和运行GeeTwitter DSL所需的全部内容。作为一个shell脚本,它可以在大多数Linux环境、Mac OS X上直接运行,在安装了Cygwin shell的Windows系统上也能运行。具体步骤如下:
1. 为 String 类添加 search 方法。
2. 检查是否有参数传入。
3. 如果有参数,将第一个参数作为包含DSL脚本的文件名进行评估;如果没有参数,则输出使用说明。
Groovy的 evaluate
超级会员免费看
订阅专栏 解锁全文
81

被折叠的 条评论
为什么被折叠?



