当前位置: 首页 > 编程笔记 >

Haskell基本清单理解

孟鹏海
2023-03-14
本文向大家介绍Haskell基本清单理解,包括了Haskell基本清单理解的使用技巧和注意事项,需要的朋友参考一下

示例

Haskell具有列表理解,这很像数学中的集合理解,以及类似命令式语言(如Python和JavaScript)的类似实现。最基本的列表理解采用以下形式。

[ x | x <- someList ]

例如

[ x | x <- [1..4] ]    -- [1,2,3,4]

函数也可以直接应用于x:

[ f x | x <- someList ]

这等效于:

map f someList

例:

[ x+1 | x <- [1..4]]    -- [2,3,4,5]
           

 类似资料:
  • Haskell是一种纯粹的函数式编程语言,因此比其他编程语言更具交互性和智能性。在本文章中,我们将学习Haskell的基本数据模型,这些数据模型实际上是预定义的或以某种方式智能地解码到计算机内存中的。 1. 数字 Haskell足够聪明,可以将某些数字解码为数字。因此,无需像在其他编程语言中通常那样在外部指定它的数据类型。如下示例中,进入到命令提示符,然后运行并按Enter键,就可以得到结果了。

  • 问题内容: 我正在尝试将CS​​V文件读入(字符串的)列表列表,将其传递以从数据库中获取一些数据,构建新数据列表的新列表,然后传递该列表列表,以便写入新的CSV文件。我到处都看了,似乎找不到如何做的例子。 我宁愿不使用简单的数组,因为文件的大小会有所不同,而且我也不知道该如何使用数组的尺寸。我没有处理文件的问题。我只是不确定如何处理列表列表。 我发现的大多数示例都将创建多维数组或在从文件中读取数据

  • 版本清单 就像你在“修订版本”一节见到的,Subversion的修订版本号码非常直接—就是随提交增大的整数。尽管如此,不会花很长时间你就会忘记每个修订版本的修改,但幸运的是,典型的Subvesion工作流程中一般不会要求你提供任意的修订版本号。在需要输入修订版本号时,通常或者是你在一个提交邮件中看到了一个修订版本,或者是在其他Subversion命令的输出结果中,或者是任何上下文环境得到某个版本号

  • 问题内容: 我是Java的新手,我需要列出列表列表。我可以在python中做到这一点,因为列表的元素可以是列表,因此在嵌入式列表中将引用列表,并且将引用嵌入式列表的zeroeth元素。有什么简单的方法可以在Java中实现此行为? 问题答案: 所有其他答案在技术上都是正确的,但是恕我直言,如果您实施了粗略的列表列表,您将无法在正确的抽象级别上处理数据。例如,我很确定列表列表在您的业务领域中已经意味着

  • 我想从文本中删除所有一个字符的单词。 例如:我想清除下面文本中所有加粗的字符。(,,,等),重新调整已清除的文本。 Lorem Ipsum只是个傀儡?印刷和排版行业的文本。自16世纪以来,Lorem Ipsum一直是业界标准的虚拟文本,当时一位不知名的印刷商拿起一个打印工具,将其拼凑成*字体样本书。它不仅存活了五个世纪,而且还跨越到[电子排版],基本上保持不变。

  • 我试图理解这段代码,它返回传递给它的的所有可能组合: 在这里,我尝试了这个样本输入: 在这里,我似乎无法理解递归最终将如何停止并返回,因为函数肯定没有任何指针在列表中移动,在每次调用时,当它满足基本情况时,它返回。根据我的说法,它将调用函数无限,并且永远不会自行停止。或者可能是我错过了什么? 另一方面,take 在完成递归调用后返回返回所有计算后,仅返回的前 个元素。那么,实际上递归如何满足这里的