基本上,我很好奇(肯定是一件危险的事情)哪种语言或哪些语言允许您动态构建代码块以供以后执行。
我查看了http://en.wikipedia.org/wiki/Self-modifying_code 我没有找到我想要的东西。
这不是辩论,我不是在问哪一个比其他任何一个更好。 我只想知道哪些语言包含这个编程特性或类似的东西。如果可以的话,我也希望看到一些示例代码来说明此功能。
我以前在 ASP.NET 中做过类似的事情,并动态构建了要发送到要执行的页面的 javascript 代码,或者 C# 生成 SQL 查询,但以前从未使用同一种语言。即C#生成C#。
这是它的外观示例(我正在用虚构的 C#/Javaish 语言编写)
/ 表示代码块转义序列
CodeBlock codeblock = new CodeBlock();
codeblock+= / print("interesting "); int x = 0; /
for(int i=0; i++; i<10)
{
codeblock+= / for(int i=0; i++; i<10) { x++; Canvas.Draw(new line(x,x+50); } /
}
executionMethod(codeblock);
public void executionMethod(ExecutableCode block)
{
block.exectute();
}