在Haskell项目中添加库
我正在做一些哈斯克尔的练习。我已经到了需要在我的项目中包括一个库的地步。但为了更清楚,我想包括library Data.List.Split。图书馆可以找到 我试着浏览了一些文档,但我似乎不明白怎么做。我的项目有:在Haskell项目中添加库,haskell,Haskell,我正在做一些哈斯克尔的练习。我已经到了需要在我的项目中包括一个库的地步。但为了更清楚,我想包括library Data.List.Split。图书馆可以找到 我试着浏览了一些文档,但我似乎不明白怎么做。我的项目有: package.yaml stack.yaml 阴谋集团文件 我希望他们有一本“使用堆栈的傻瓜指南”,一些绝对初学者能够理解的东西 请使用示例解释您的答案。您应该将库拆分和特定版本添加到构建部分的cabal文件中。例如,如果您的cabal文件中有以下内容: build-depends
package.yaml
stack.yaml
阴谋集团
文件请使用示例解释您的答案。您应该将库
拆分和特定版本添加到构建部分的cabal
文件中。例如,如果您的cabal
文件中有以下内容:
build-depends:
base >=4.7
现在Stack
知道您的项目依赖于base
库,它应该需要大于或等于4.7
的版本。因此,要添加split
库,您应该添加如下内容:
build-depends:
split == 0.2.3.2
这只是说您需要0.2.3.2
版本的split
库
在这里,你可以阅读更多关于这一点的内容:(阅读工作流部分),这里有一个cabal
文件的示例,它需要一些库。我想我找到了另一种方法。我需要在package.yaml
文件中插入split
作为依赖项之一,如下所示:
依赖项:
-分裂
接下来删除cabal
文件,然后在终端中键入stack build
结果是它创建了一个新的cabal
文件,而无需我对cabal
文件进行任何特定更改
新的cabal
文件现在将split
作为一个依赖项,如下所示:
构建取决于:
基础
分裂
在新生成的cabal
文件的顶部,它表示它是由package.yaml
文件hpack
生成的,谢谢。您如何知道使用单词split
而不是Data.List.split这是因为库的名称是split
:转到,您将看到用于拆分列表的图例split:Combinator库。另外,从url中可以看到split-0.2.3.2
,它被解析为{name of the library}-{version of the library}
Data.List.Split
是库的模块结构,只是说明如何导入它。这里有split
lib的实际cabal
文件: