gpt4 book ai didi

dynamic - 如何在 Dart 中动态执行(如 Eval)?

转载 作者:行者123 更新时间:2023-12-01 07:20:09 27 4
gpt4 key购买 nike

自从开始使用 Dart 以来,我一直在寻找一种将 Dart(文本)源(同一程序很可能动态生成)作为代码执行的方法。就像臭名昭著的“eval()”函数。

最近我发现了一些提示,即 Isolates 之间的通信端口支持某种“Spawn”,似乎它可以允许这种“技巧”。在 Ruby 中,也可以将模块作为语言特性动态加载,也许在 Dart 中有一些方法可以做到这一点?

任何线索或一个简单的例子将不胜感激。

提前致谢!

最佳答案

Ladislav Thon 提供了这个答案(在 Dart 论坛上),

我相信可以肯定地说 Dart 永远不会有 eval。但它会有其他更结构化的动态生成代码的方式(代号镜像构建器)。不过,现在没有这样的事情。

有两种方法可以生成隔离:spawnFunction,它从新隔离中的现有代码运行现有函数,所以你不需要寻找任何东西,以及 spawnUri,它从给定的 URI 下载代码并在新隔离中运行它。这本质上是动态代码加载——但动态加载的代码与现有代码是隔离的。它在一个新的隔离区中运行,因此与它通信的唯一方式是通过消息传递(通过端口)。

谢谢拉迪斯拉夫...

关于dynamic - 如何在 Dart 中动态执行(如 Eval)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13585082/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com