haskell - 在haskell中按选定的字符分割字符串

标签 haskell

我试图在每次选择字符时分割一个字符串。因此,如果我收到 "1,2,3,4,5",并且我选择的字符是 ",",结果是一个列表,例如 ["1","2","3","4","5"]

我一直在浏览这里已经回答的问题,他们指出我使用splitOn。但是,当我尝试导入 Data.List.Split 以便使用它时,Haskell 给出以下错误:找不到模块“Data.List.Split” 。当我尝试仅使用 splitOn 而不导入模块时,它向我显示变量不在范围内:s​​plitOn

所以我的问题是,

  1. 我收到此错误正常吗? splitOn 是一个可行的选择还是我应该尝试其他方法?
  2. 还有哪些其他简单的解决方案?

我可以写一些可以为我做到这一点的东西,但我想知道为什么我无法导入 Data.List.Split 以及是否还有其他更简单的选项我没看见。谢谢!

最佳答案

如果您使用GHC它配备了标准 Prelude 和 base package 中的模块。 ,也许还有其他一些包。

大多数软件包,例如 split package (其中包含 Data.List.Split 模块),不是 GHC 本身的一部分。您必须将它们作为显式编译步骤导入。使用构建工具最容易完成此操作。大多数 Haskellers 使用 CabalStack .

例如,使用 Stack,您可以将 split 包添加到 package.yaml 文件中:

dependencies:
- base >= 4.7 && < 5
- split

您还可以load an extra package when you use Stack to start GHCi 。这对于临时实验很有用。

关于haskell - 在haskell中按选定的字符分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59225502/

相关文章:

haskell - 更好的接口(interface)来构成破坏性运算符

haskell - 为什么这个 Haskell 代码可以成功地处理无限列表?

haskell - 数据族实例非法绑定(bind)到内置语法: ()

compiler-construction - 类型检查器库

.net - 使用 .NET 实现全文搜索的理想功能语言

Haskell - 解释 `tell` 如何工作

haskell - 在 State Monad 中构建错误处理的最小 Haskell 示例

debugging - 在 Haskell/Yampa 和 HOOD 中调试游戏对象的输出

list - 有人可以用我的 Haskell 代码诊断问题吗?

haskell - 如何为沙箱中的所有包设置 cabal 额外目录