haskell - 传递字符串以在终端中编辑,并在 Haskell 程序中使用 Enter 键确认

标签 haskell terminal io

有没有办法在终端中“打印”一个字符串,并且用户可以编辑该字符串并按 Enter 确认并将其传递回程序?

最佳答案

是的,使用 haskeline (readline 风格的库)。它具有函数getInputLineWithInitial,它具有您所要求的行为。示例:

import System.Console.Haskeline

main = do
  result <- runInputT defaultSettings $ getInputLineWithInitial ""
     ("Pass string to edit in terminal ", "in Haskell program")
  print result

关于haskell - 传递字符串以在终端中编辑,并在 Haskell 程序中使用 Enter 键确认,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51572503/

相关文章:

haskell - 为什么 Haskell 缺少 "obvious"类型类

c++ - CTRL+D 在 Mac OS X 终端突然停止工作,不会执行 EOL 操作

linux - 如何在Linux中重新绑定(bind)终端快捷方式

java - 使用 javamail 时附件的奇怪读/写时间

list - Haskell - 是否存在替换功能?

haskell - 字符频率

java urlconnection 不抛出 sockettimeoutexception

c++ - 为什么有不同的输入值?

haskell - 状态 Monad : Modifying state without modifying value

terminal - 带有按钮的 Applescript 通知