gpt4 book ai didi

scala - 如何在 Scala JLine 的调用之间保存和加载历史记录

转载 作者:行者123 更新时间:2023-12-05 00:28:59 27 4
gpt4 key购买 nike

我正在使用 Scala JLine在我的 CLI 程序中。它工作正常,但每次重新启动程序时它都会忘记我的历史记录。我看到一个名为 FileHistory 的类,我看到了 ConsoleReader类有一个名为 setHistory() 的方法它采用 FileHistory 的实例.我希望调用该方法会导致它创建或加载并保存包含我的历史记录的文件。但事实并非如此。

不幸的是,文档几乎不存在。我怎样才能让它在下次运行启用 JLine 的程序时记住我在上一次运行中输入的命令?

更新

下面由mirandes给出正确答案。感谢 Mirandes 和 som-snytt 的帮助(是的溶剂)响应。

最佳答案

这对我有用:

import scala.tools.jline.console.ConsoleReader
import scala.tools.jline.console.history.FileHistory
import java.io.File

val reader : ConsoleReader = new ConsoleReader()

val history = new FileHistory(new File(".history"))
reader.setHistory(history)

在退出应用程序之前,请确保刷新历史记录。
reader.getHistory.asInstanceOf[FileHistory].flush()

关于scala - 如何在 Scala JLine 的调用之间保存和加载历史记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17935184/

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