Swift REPL:如何保存加载REPL状态? (a.k.a.暂停恢复,快照,克隆)

Swift REPL:如何保存加载REPL状态? (a.k.a.暂停恢复,快照,克隆),第1张

概述在 Swift REPL中,保存REPL状态的方法是什么? >例如,我想在REPL中做一堆工作,然后保存它,所以我可以稍后加载它. >这个概念可能被命名为save / load,suspend / resume,snapshot / clone,serialize / deserialize等. 让我走向这个的任何解决方案都会有所帮助,即使它是这样的黑客: >记录所有历史记录行,然后在另一个REP 在 Swift REPL中,保存REPL状态的方法是什么?

>例如,我想在REPL中做一堆工作,然后保存它,所以我可以稍后加载它.
>这个概念可能被命名为save / load,suspend / resume,snapshot / clone,serialize / deserialize等.

让我走向这个的任何解决方案都会有所帮助,即使它是这样的黑客:

>记录所有历史记录行,然后在另一个REPL中重播它们.
>序列化所有对象,然后在另一个REPL中反序列化它们.
>快照RAM或VM,然后将其克隆到另一台计算机.
>保存全局状态的核心映像,然后再执行.

我的目标是在一台机器上保存REPL工作,然后将其加载到另一台机器上.

我只需要最终状态;我不需要堆栈,历史或句柄等.

XCode Playgrounds具有类似的功能,使用“保存”,外部化内容.

也许这可以帮到你一点点.

刚发现实际上Swift REPL将当前会话保存在一个文件中.

在REPL中键入__file__,您将看到会话文件.

1> __file__$R0: String = "/var/folders/6j/xs_0g88d55dgprjrwDWs898w0000gn/T/lldb/3869/repl1.swift"

您可以查看文件内容,它会一直跟踪当前的REPL会话.
我相信您可以构建一行Swift代码将该文件复制到您的保存文件夹中,您必须在会话结束时运行该文件夹.

顺便说一下,在那个临时文件夹中,repl.swift实际上比repl1.swift更紧凑.您可能想要复制repl.swift.

总结

以上是内存溢出为你收集整理的Swift REPL:如何保存/加载REPL状态? (a.k.a.暂停/恢复,快照,克隆)全部内容,希望文章能够帮你解决Swift REPL:如何保存/加载REPL状态? (a.k.a.暂停/恢复,快照,克隆)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1089475.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存