小编Str*_*e00的帖子

在 Haskell 中使用 Data.Sequence

我编写了一个程序,结果使用列表太慢了,所以我尝试切换到序列。但是,在查看文档后我似乎无法找出正确的语法。

\n\n

到目前为止,我正在尝试使用这个简单的代码来学习:

\n\n
import Control.Monad\nimport qualified Data.Sequence as S\n\nmain :: IO ()\nmain = do \n       let testSeq = S.empty\n       testSeq S.|> 5\n       testSeq S.|> 20\n       testSeq S.|> 3\n       let newSeq = S.update 2 3 testSeq\n       let x = lookup 2 testSeq\n       print x\n
Run Code Online (Sandbox Code Playgroud)\n\n

我已经尝试了一段时间的语法但没有运气,但它仍然有很多错误:

\n\n
test.hs:9:8:\n    Couldn't match expected type \xe2\x80\x98IO a0\xe2\x80\x99\n                with actual type \xe2\x80\x98S.Seq Integer\xe2\x80\x99\n    In a stmt of a 'do' block: testSeq S.|> 5\n    In the expression:\n      do { let testSeq = S.empty;\n           testSeq S.|> …
Run Code Online (Sandbox Code Playgroud)

haskell

1
推荐指数
1
解决办法
1788
查看次数

标签 统计

haskell ×1