如何动态生成函数?

Sal*_*gat 5 dart

我希望能够获取一个字符串(使用正确的Dart语法)并将其转换为可调用的dart函数.有没有办法做到这一点?

例如,我会收到字符串,

void test() { print("testing!"); }
Run Code Online (Sandbox Code Playgroud)

然后将其转换为可调用的函数.我想这样做的原因是能够从其他服务器下载dart文件并调用它们的功能.

Ban*_*ami 2

根据 dart 常见问题解答,https://www.dartlang.org/support/faq.html#q-is-it-really-a-dynamic-language-if-it-doesnt-have-eval-or-adding-fields - 运行时值

Dart 目前没有 eval() 函数,也不支持任意字符串的运行时编译,尽管将来可能会有。

因此,您必须在 dart 中创建自己的虚拟机才能完成您想做的事情。