元编程(Metaprogramming) ####################### :: 指某类计算机程序的编写,这类计算机程序编写: 或者操纵其他程序(或者自身)作为它们的数据, 或者在运行时完成部分本应在编译时完成的工作。 很多情况下与手工编写全部代码相比工作效率更高。 编写元程序的语言称之为元语言,被操作的语言称之为目标语言。 一门语言同时也是自身的元语言的能力称之为反射。 反射是促进元编程的一种很有价值的语言特性。 把编程语言自身作为头等对象(如 Lisp 或 Rebol)也很有用。 支持泛型编程的语言也使用元编程能力。 元编程通常有两种方式起作用。 一种方式是通过应用程序接口(API)来暴露运行时引擎的内部信息。 另一种方法是动态执行包含编程命令的字符串。 因此,“程序能编写程序”。虽然两种方法都能用,但大多数方法主要靠其中一种。