首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么`putStrLn getLine`不起作用?

这个问题是关于 Haskell 编程语言中的 putStrLngetLine 函数的问题。putStrLn 是用于将字符串输出到控制台并在末尾添加换行符的函数,而 getLine 是用于从控制台读取一行输入的函数。

问题中提到的 putStrLn getLine 不起作用,可能是因为这两个函数需要用括号括起来,并且需要在 do 语句中使用。正确的代码应该如下所示:

代码语言:haskell
复制
main = do
  putStrLn "Hello, world!"
  getLine

在这个例子中,putStrLn 用于输出 "Hello, world!" 字符串,然后 getLine 用于等待用户输入。

如果您需要更多关于 Haskell 编程语言的信息,可以查看腾讯云的相关文档和教程,例如腾讯云的 Serverless 云函数和容器服务。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

为什么 strace 在 Docker 中不起作用

在编辑“容器如何工作”爱好者杂志的能力页面时,我想试着解释一下为什么 strace 在 Docker 容器中无法工作。...为什么 strace 不能工作,为什么--cap-add=SYS_PTRACE 可以解决这个问题? 假设 1:容器进程缺少 CAP_SYS_PTRACE 能力。...为什么?! 假设 2:关于用户命名空间的事情? 我的下一个(没有那么充分的依据的)假设是“嗯,也许这个过程是在不同的用户命名空间里,而 strace 不能工作,因为某种原因而行不通?”...这很容易解释为什么 strace 在 Docker 容器中不能工作 —— 如果 ptrace 系统调用完全被屏蔽了,那么你当然不能调用它,strace 就会失败。...为什么 --cap-add=SYS_PTRACE 能解决问题? 我们还没有解释的是:为什么 --cap-add=SYS_PTRACE 可以解决这个问题?

6.4K30
  • 从惰性IO说起_Haskell笔记6

    <- getArgs pwd <- getExecutablePath setEnv "NODE_ENV" "production" nodeEnv <- getEnv "NODE_ENV" putStrLn...pwd putStrLn ("NODE_ENV " ++ nodeEnv) putStrLn (progName ++ (foldl (++) "" $ map (" " ++) args)) 试玩...isUserError用来判定通过userError :: String -> IOError函数手动制造的异常 获取错误信息 想要输出引发异常的用户输入的话,可能会这么做: exists = do file <- getLine...io.hs main = print "hoho" 符合预期,这里用了lambda函数,能够访问外部的file变量,如果异常处理函数相当庞大,就不太容易了,例如: exists' = do file <- getLine...errorHandler,我们多包了一层,看起来蠢蠢的,而且能保留的现场信息很有限 所以,像其他语言一样,我们能够从异常对象身上取出一些错误信息,例如: exists'' = do file <- getLine

    2.3K30
    领券