【发布时间】:2017-08-03 14:14:08
【问题描述】:
我一直在 Swift REPL(在 macOS 上)中输入命令,而不是向后滚动查看我的命令历史记录,我想知道是否有一个文件或数据库可以像其他 REPL 一样保存历史记录(例如 python ) 我可以看看。
这个可以吗?
【问题讨论】:
-
@Martin R:但是您可以访问历史中早期会话的条目。
标签: swift read-eval-print-loop
我一直在 Swift REPL(在 macOS 上)中输入命令,而不是向后滚动查看我的命令历史记录,我想知道是否有一个文件或数据库可以像其他 REPL 一样保存历史记录(例如 python ) 我可以看看。
这个可以吗?
【问题讨论】:
标签: swift read-eval-print-loop
Swift REPL(实际上以 REPL 模式启动 lldb 调试器)
使用 libedit 进行命令行编辑和历史记录。退出时,历史记录保存到文件~/.lldb/lldb-repl-history
(比较SR-4338 Swift REPL crashes on launch if ~/.lldb/lldb-repl-history contains emoji)。
弄清楚历史应该不会太难 来自 libedit 源代码的文件格式。这是一个简单的例子。 在 REPL 会话之后
$ 迅速 欢迎使用 Apple Swift 3.1 版 (swiftlang-802.0.53 clang-802.0.42)。输入 :help 寻求帮助。 1> 让 a = 1 a: 整数 = 1 2> 让 b = 2 b: 整数 = 2 3> 打印(a + b) 3 4> ^D历史文件包含
_历史_V2_ 让\040a\040=\0401\012 让\040b\040=\0402\012 打印(a\040+\040b)\012【讨论】: