pascal的with语句很好用,但是对于需要对多个对象进行缩写时,就不够用了
如果能扩展为:
WITH obj1.fobj11 AS o1,obj2.fobj21 AS o2 DO
BEGIN
o1.xxx;
x:=o2.yyy+o1.yyy;
END;
就好了!
好像c#已经是这样的了。。。。。。。。
由这类问题引发的一个需求、幻想是:一个待编译的项目源代码包,第一个文件就是自定义的语法预处理定义
真正编译源代码前,先通过这个预处理文件对所有源代码进行预处理,然后才是编译
这样,就可以很简单的实现了各种语言的个人改进
当然,多数个人改进不一定是对的方向,但是通过互相的交流,集思广益,总会很快归纳出一些优秀预处理
这样,比什么组织、公司推出新语法要快的多,而且负面影响也小——不好的,很快通过实践被淘汰
不过副作用是:每个人的代码个性化会更厉害!——必须有一种自动wiki机制尽快消灭不良的“预编译器”才行