出现错误时如何解决问题:不在范围内

Posted

技术标签:

【中文标题】出现错误时如何解决问题:不在范围内【英文标题】:How to resolve issues when getting error: Not in scope 【发布时间】:2012-07-27 04:44:33 【问题描述】:
*Main> :t putStrn

:1:1:
不在范围内:`putStrn'
也许您的意思是其中之一:
  `putStr'(从 Prelude 导入),
  `putStrLn'(从 Prelude 导入)

请注意,我正在使用 haskell 模式在 emacs 中练习 haskell 编程。

即使在使用终端时,我也会收到以下错误:

optimight@optimight:~$ ghci
GHCi,版本 7.4.1:http://www.haskell.org/ghc/ :?求助
加载包 ghc-prim ... 链接 ... 完成。
加载包 integer-gmp ... 链接 ... 完成。
正在加载包库...链接...完成。
Prelude> :set prompt ghci>
ghci>:t putStrln

:1:1:
    不在范围内:`putStrln'
    也许您的意思是其中之一:
      `putStrLn'(从 Prelude 导入),
      `putStr'(从 Prelude 导入)

【问题讨论】:

你确定有一个名为putStrn的函数吗? @Pikaurd:是的,我在参考这本书后使用-Learn you a Haskell for Good-topic 9.1,其中写道“让我们检查一下我们写的内容。首先,让我们看看类型函数 putStrLn.ghci> :t putStrLn putStrLn :: String -> IO () ghci> :t putStrLn "hello, world" putStrLn "hello, world" :: IO () putStrnputStrlnputStrLn 的名称不同。 【参考方案1】:

您要查找的 I/O 操作是 putStrLn。请注意大写的 L——Haskell 符号区分大小写——就在最后的 n 之前,如“将字符串放在自己的 上”。

【讨论】:

以上是关于出现错误时如何解决问题:不在范围内的主要内容,如果未能解决你的问题,请参考以下文章

颤振:RangeError(索引):无效值:不在包含范围内0..27:28

DFS 值不在预期的范围内问题解决

IIS 7.5绑定中文域名转码启动站点报“值不在预期的范围内”

请问一下网页出现 URL禁止 对不起,你不是授权访问网址这是啥问题?

运行时错误中的“值不在预期范围内”是啥意思?

中继编译 Relay Modern 代码时变量不在范围内错误