2

Metaprogramming Ruby中,作者指出只有少数语言,包括 Ruby,可以在运行时自行操作。除了 Ruby 之外,还有哪些其他语言可以支持这种类型的元编程?

我所指的具体报价在第 xix 页的介绍中:

在本书中,我将坚持元编程的不同含义,重点关注在运行时自行操作的代码。只有少数几种语言可以有效地做到这一点,Ruby 就是其中之一。您可以将其视为动态元编程,以区别于代码生成器和编译器的静态元编程。

4

1 回答 1

6

现在大多数语言都在朝着提供这种功能的方向发展,但它通常不像 ruby​​ 那样“干净”。所有这些语言都有很多这些功能(参考):

  • 动作脚本
  • 基本的
  • 豆壳[3]
  • Clojure
  • 冷融合
  • Common Lisp 和大多数其他 Lisp
  • 时髦的[4]
  • E 编程语言
  • JavaScript
  • VBScript
  • MATLAB / 八度
  • 卢阿
  • Objective-C
  • Perl
  • PHP
  • 电源外壳
  • Python
  • 红宝石
  • 短暂聊天
  • Tcl

其他语言,如 Java 和 C#(参考)有在运行时检查和创建代码的方法,但它不像那些语言那样“自然”,感觉很像一个 hack。

于 2012-07-07T01:30:52.020 回答