在Metaprogramming Ruby中,作者指出只有少数语言,包括 Ruby,可以在运行时自行操作。除了 Ruby 之外,还有哪些其他语言可以支持这种类型的元编程?
我所指的具体报价在第 xix 页的介绍中:
在本书中,我将坚持元编程的不同含义,重点关注在运行时自行操作的代码。只有少数几种语言可以有效地做到这一点,Ruby 就是其中之一。您可以将其视为动态元编程,以区别于代码生成器和编译器的静态元编程。
在Metaprogramming Ruby中,作者指出只有少数语言,包括 Ruby,可以在运行时自行操作。除了 Ruby 之外,还有哪些其他语言可以支持这种类型的元编程?
我所指的具体报价在第 xix 页的介绍中:
在本书中,我将坚持元编程的不同含义,重点关注在运行时自行操作的代码。只有少数几种语言可以有效地做到这一点,Ruby 就是其中之一。您可以将其视为动态元编程,以区别于代码生成器和编译器的静态元编程。
现在大多数语言都在朝着提供这种功能的方向发展,但它通常不像 ruby 那样“干净”。所有这些语言都有很多这些功能(参考):
其他语言,如 Java 和 C#(参考)有在运行时检查和创建代码的方法,但它不像那些语言那样“自然”,感觉很像一个 hack。