2

私は次のことをしたいと思います。プログラムで構造体を宣言し、実行時にプログラムが実行されている場合、ユーザー入力があれば、別の新しい構造体を作成したり、コードでその構造体を編集したりできるはずです。どうすればそれができますか?これは「自己修正コード」ですか?明確にしてください。いくつかの例を挙げてください。ありがとう

私がやりたいことのアイデアを教えてください.「student」と呼ばれる「構造/クラス」があり、「int roll_no」や「int reg_no」などの変数が含まれています。ユーザーが実行時に「char name」のような新しい変数を追加したい場合、どうすればよいでしょうか?

4

2 に答える 2

3

これを見てください:

http://bracha.org/Site/Talks.html

リフレクションについての話がありますが、これはおそらくあなたが望むものです。リフレクションは、イントロスペクション (ほとんどの開発者が既に知っていること) だけでなく、言語構造の意味の変更と実行時コード操作についてもです。

この種のものに最適な言語は、おそらく ruby​​ と smalltalk です。

お使いの言語がこれらの機能をサポートしていない場合でも、コード生成を活用するオプションがあります。これはほとんどすべてのプログラミング言語で可能ですが、「eval」をサポートする動的言語でははるかに簡単です。たとえば、この種のものは C/C++ でも可能ですが、アプリにはコンパイラを埋め込む必要があります。

Javaも良い選択です(クラスローダーとバイトコード操作用の多くのライブラリにthx)

ああ、ほとんど忘れていました。Lisp と metacircular の評価を見てください。

于 2011-10-16T08:03:15.280 に答える
0

既存のコードを変更する必要はないようですが、実行時に新しいコードを出力します。コンパイラが実行時に存在する環境であれば、簡単に実行できます。これは、.NET、JVMベースの環境、さまざまなLispなどに当てはまります。

于 2011-10-16T13:04:58.563 に答える