2

メタプログラミングRubyで、著者は、Rubyを含む少数の言語のみが実行時に自分自身を操作できると述べています。Ruby以外にこのタイプのメタプログラミングをサポートできる言語は何ですか?

私が言及している具体的な引用は、xixページの紹介にあります。

この本では、実行時に自分自身を操作するコードに焦点を当てて、メタプログラミングの別の意味に固執します。これを効果的に実行できる言語はごくわずかであり、Rubyもその1つです。これは、コードジェネレーターやコンパイラーの静的メタプログラミングと区別するための動的メタプログラミングと考えることができます。

4

1 に答える 1

6

現在、ほとんどの言語はそのような機能を提供する方向に進んでいますが、一般的にはルビーほど「クリーン」ではありません。これらすべての言語には、これらの機能がたくさんあります(参照)。

  • ActionScript
  • ベーシック
  • BeanShell [3]
  • Clojure
  • ColdFusionColdFusion
  • CommonLispおよび他のほとんどのLisp
  • Groovy [4]
  • Eプログラミング言語
  • JavaScript
  • VBScript
  • MATLAB / Octave
  • ルア
  • Objective-C
  • Perl
  • PHP
  • パワーシェル
  • Python
  • ルビー
  • Smalltalk
  • Tcl

JavaやC#(リファレンス)などの他の言語には、実行時にコードを検査および作成する方法がありますが、これらの言語ほど「自然」ではなく、ハックのように感じます。

于 2012-07-07T01:30:52.020 に答える