原来叫Escript,现在正式改名Bee,意思是蜜蜂,古怪的想法。现在虽然很简单,但已经具备实用价值
功能介绍:
Bee是嵌入在文本注释里的脚本。通过运行这些文本中的Bee脚本,可以改写这些文本。譬如,配置文件:
#: replaceProperties(productIp)
db_ip = 127.0.0.1
#: 表示这是Bee脚本开始的地方。也可以使用/* // <!-- ,这取决于你的文本所支持的注释
replaceProperties(productIp) 为一函数调用,其输入参数有productIp,以及下一行内容。
如果设置productIp=“10.1.128.91”,运行Bee脚本后,结果如下
db_ip = 10.1.128.91
再比如
#:if(!isDebug) delnext(){
logfile=..............
debug_para =.............
#:}
if是条件表达式,如果为真,则执行delnext语句
delnext的输入参数就是被{}包括的俩行
为什么不用占位符(palceholder)
上面第一个例子实现的功能可以用占位符,但负面影响是此文件将不在具有任何意义
db_ip = $productIp$
因为这可能导致此文件不再被别的软件所识别,这在开发阶段是有问题的。你手里不得不有一个配置文件,又有一个模板文件。虽然他们内容非常相似
Bee是模板技术么
答案是不,模板技术可以参考stringtemplate等,目前来看,它还是有点像,但区别在于它不影响原来文件的内容,所有的操作都是在注释里写的
Bee是有点像Java Annoation?
是的,我的思路一部分来源于此。如果你不能理解Bee的作用,你可以参考想想Annotation的作用
目前Bee进度如何?
目前只提供了很少的内置功能,可以说只能是0.1版本。语法,内置函数等等都还没有定型
Bee 下一步计划是什么?
Bee并不把自己定位为语言或者脚本语言,他的发展完全是需求驱动的,下一步计划是增加一个merge文件的函数,以及为字符串提供一些跟别的语言一样函数调用。
当然,这取决于是否有时间去完成,从目前工作来看会一直忙到3月。很难有时间去进一步考虑“下一步”
从哪儿可以看到代码
访问
https://sourceforge.net/projects/esic/files 可以下载代码
或者[url] http://esic.svn.sourceforge.net/viewvc/esic/escript[/url]在线浏览