【发布时间】:2012-11-08 16:38:02
【问题描述】:
我有一个这样的列表:
[["BBBBBBBB",
"BWFFFPFGB",
"BWFFFPFGB",
"BWFFMPFGB",
"BWFFFPF_B",
"BWFFFPF6B",
"BBBBBBB"]]
我做了一些研究,发现了如何使用!! 运算符访问单个元素。但是在搜索某个元素'M' 时,我不知道该怎么做。我的朋友说我需要在列表中使用 (x:xs):xss 之类的东西,但是当我在 WinGHCi haskell 程序中尝试这个时,我得到了这个。
Prelude> let list = [["BBBBBBBB",
"BWFFFPFGB",
"BWFFFPFGB",
"BWFFMPFGB",
"BWFFFPF_B",
"BWFFFPF6B",
"BBBBBBB"]]
Prelude> head(x:xs):xss
<interactive>:192:2: Not in scope: `x'
<interactive>:192:4: Not in scope: `xs'
<interactive>:192:8: Not in scope: `xss'
我知道我将名称声明为 list 而不是 x:xs,但即使我将其声明为 x:xs,我仍然会收到错误消息。我可能对haskell还有些陌生,无法真正理解该怎么做,所以我可能会以这种方式错误。
我在这里查看Replace individual list elements in Haskell?,因为最终我想用不同的东西替换M ,但我不完全确定我将如何实现它。
感谢任何帮助/指导,谢谢!
【问题讨论】:
-
我建议Learn You a Haskell 以便您了解基本语法。在你阅读了前几章之后,你应该能够弄清楚你想要什么。
-
head(x:xs):xss 没有意义。