【问题标题】:lines function not working as expected线条功能未按预期工作
【发布时间】:2017-03-07 14:41:22
【问题描述】:

在 Prelude 中,unlines 按预期工作。下面是例子

GHCi>unlines ["aa","bb","bb"]
"aa\nbb\nbb\n"

但是为什么行不工作。甚至类型签名都说它只能接受数字。

GHCi>:t lines
lines :: Num t => [t]

所以,如果我尝试

GHCi>lines "aa\nbb\nbb\n"

为什么会出现错误?有需要导入的行吗?

问候,

【问题讨论】:

  • GHCi>:i lines 给你什么?这应该显示您看到的lines 的定义位置。
  • 在 GHCi 中它说lines :: String -> [String]。所以你已经导入了不同的`lines。
  • Yes mine 显示 GHCi>:i lines lines :: Num t => [t] -- 定义于 :14:1。你能告诉我怎样才能得到正确的吗?
  • 谢谢我修复了它,我刚刚重新启动它,它工作正常。
  • 当 GHCi 显示“Defined at :14:1”时,表示 lines 在 GHCi 中被重新定义(输入第 14 行)。因此,您没有使用标准 lines

标签: haskell


【解决方案1】:

你确定你没有遮蔽lines 函数:

:t lines
lines :: String -> [String]

确保您没有定义lines 变量。 正如@ChadGilbert 提到的,您可以使用:i

【讨论】:

    猜你喜欢
    • 2013-08-29
    • 2020-04-28
    • 2021-08-27
    • 1970-01-01
    • 2012-10-07
    • 2014-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多