沉降以下为:将文件视为集合以执行快速集合操作。

[bsd3型,程序,未分类的][建议标签]

有时,您会有很多设置数据,需要执行许多快速可靠地设置操作,您还希望能够添加新的并能够使用几乎不费吹灰之力。这是setdown要解决的问题。设置是构建的目的是将其与版本结合使用控制工具来管理设置数据和设置描述文件。


[跳到自述]

下载

维修人员角落

包装维护人员

对于包维护者和黑客托管者

候选人

  • 没有候选人
版本[RSS(RSS)] 0.1.0.0,0.1.0.1,0.1.0.3,0.1.0.4,0.1.1.0
依赖关系 阵列(>=0.5),基础(>=4.7 && <5),字节删除(>=0.10.4),cmdargs公司(>=0.10),容器(>=0.6 && <0.7),目录(>=1.1 && <3),文件路径(>=1.2 && <3),mtl公司(>=2.2 && <2.3),分裂(>=0.2 && <0.3),表格布局(>=0.8),文本(>=1.2),乌伊德(>=1.3&&<1.4)[详细信息]
许可证 BSD-3条款
版权 (c) 2015年罗伯特·马萨奥利
作者 罗伯特·马萨奥利
维护人员 robertmessasioli@gmail.com
主页 http://bitbucket.org/robertmessasioli/setdown
Bug跟踪器 https://bitbucket.org/robertmassaioli/setdown/issues(https://bitbucket.org/robertmassaioli/setdown/issues)
源回购 头部:git克隆git@bitbucket.org:罗伯特·马萨奥利/setdown.git
已上传 通过罗伯特·马萨奥利2019-10-07T22:44:32Z
分配
反向依赖关系 1直接,0间接[详细信息]
可执行程序 沉降
下载 总计3039人(过去30天内有14人)
额定值 (尚未投票)[估算人贝叶斯平均]
您的评分
  • λ
  • λ
  • λ
状态 文档不可用[生成日志]
上次成功报告时间:2019-10-07[所有3个报告]

设置自述-0.1.1.0

[返回包描述]

设置-基于行的设置操作

作者:罗伯特·马萨奥利
创建时间:2015年

安装步骤

如果你只是想安装setdown,那么你只需要确保你有Haskell和Cabal安装,然后:

电缆安装下放

这起作用是因为设置正在被黑客攻击!

什么是设置,它是如何工作的?

Setdown是用于基于行的集合操作的命令行工具。要使用setdown,您需要写一个“setdown定义文件“通常以.设置.如果你熟悉制造商然后你可以思考这个的.设置文件很像Makefile。在该文件中,您可以写入表格定义:

definitionName:“file-1.txt”/\“file-2.txt”

此行表示“definitionName”是一个新的集合定义,是“file-1.txt”和“file-2.txt”。你可以写出比这个更复杂的表达式。

设置项目示例

检查设置示例项目关于Bitbucket;它将向您展示设置的工作原理。

然而,要深入了解设置及其功能,您应该阅读下面的章节。

输入文件

在沉降中每个文件都被视为元素列表,其中每行是一个元素。输入文件不需要以集合开头;它们可以包含重复项和未排序项元素。Setdown将自动对所有输入文件进行排序和消除重复,并将其转换为集合。

另一个重要点是相对性:具体来说,如果有一个.设置将其归档引用输入文件“some-elements.txt”,我从一个目录运行setdown可执行文件与目录不同.设置文件,然后设置在哪里查找some-elements.txt文件?答案是,我们总是查找与.设置文件。这就是您编写定义的地方,因此路径与之相关。它是在年设计的这样,您可以从目录树中的任何位置运行setdown,并且仍然可以得到相同的结果结果。这是一个重要的设置设计,每次运行都会得到相同的结果。设置被设计为当前工作目录不变,而不是许多其他命令行程序。请记住这一点。

设置操作和精度

在设置语言中,有许多支持的运算符:

  • 十字路口:/\
  • 工会:/
  • 差异:-

例如,它们可以以下列方式使用:

定义:(A-B)\/(C/\D)

你可能想知道操作员精确度setdown语言使用,答案是:相反,根本没有操作员的精确性必须明确指定嵌套的精度带括号的表达式。这非常重要,因为它将导致分析错误否则。要解释显式运算符优先级的推理:

--下面是一个简单的表达式定义:A/\B\/C--现在,应该将其解析为:定义V1:(A/\B)\/C--或作为:定义V2:A/\(B\/C)--如果你假设B是空集(E),那么你可以看到这些表达式计算--完全不同。如果我们用这个假设来简化它们,那么它们就会变成:默认V1-空:EdefV2-bempty:A/\C

正如您所见,操作顺序对集合操作非常重要。因为它太关键了括号的使用是强制性的。

评论

在设置语言中,您可以通过写双破折号(--),然后写注释到行尾。以下评论有效:

--这是a的定义,因为我们想做XA: “y.txt”-“z.txt”--这是一个注释在表达式中间的示例B: (A\/C)--\/D这仍然是一个注释,并且\/D从未发生过

您可以使用注释为可能在中阅读您的设置定义的任何人留言未来。这可能有助于向他们解释你想做什么。

写下自己的定义

在设置语言中,您可以按以下格式编写定义:

<定义名称>:<表达式>

其中定义名称是您为该表达式提供的标识符。表达式是对标识符或文件应用set操作。这是一个实际的例子应该有助于巩固这一含义。这是一个有效的设置文件:

--A是文件b-1.out和集合b的交点A: “b-1.out”/\b--B是文件a-1.out和a-2.out的并集B: “a-1.out”\/“a-2.out”--C是文件b-1.out和集合b的差值C: “b-1.输出”-b

通常,当您编写这些定义时,会将它们放在后缀为的文件中.设置.然后,您可以将此文件输入设置可执行文件,如下所示:

setdown路径/to/mydefinitions.setdown

有关可以传递给设置可执行文件的选项的更多信息,请尝试运行

setdown--帮助

祝你好运!

构建代码

要构建此项目的代码,只需Haskell已安装阴谋集团然后:

新成立的阴谋集团

这应该在您的机器上构建代码。然后,如果修改代码,只需使用cabal run运行setdown:

阴谋集团下台--帮助阴谋集团下台--mydefinitions.setdown

这就是一切!

使用nix进行本地开发

如果要使用nix在本地安装setdown以进行本地开发,请执行以下操作:

$nix-shell$cabal沙盒初始化$cabal安装

这应该在本地以开发模式安装设置。

为沉降项目作出贡献

如果您希望为抵销项目做出贡献,请:

  1. 提出您打算解决/改进的问题。
  2. 等待罗伯特·马西奥利回复你,竖起大拇指。如果你抓到罗伯特Massaoli的“合并批准”意味着,如果你写的代码让Roberts满意然后将其合并。
  3. 编写代码。
  4. 提出公关并请罗伯特·马萨奥利(Robert Massaioli)审查。(也许可以反复一点,以便清理干净)
  5. 将其合并到中。
  6. 庆祝一下!

我很想为这个项目做出贡献,即使它看起来很复杂过程只是遵循它,因为它是为了让你和我的生活更轻松。干杯!