你为什么要使用列表理解

问题描述 投票:0回答:1

为什么使用列表推导式而不是更函数式的方法,例如 - map (*2) [1..5](仅举一个例子)?

我认为列表理解语法不是很直接,需要记住,并且是 haskell 中的冗余语法和功能,因为你可以用列表函数做它能做的一切。

我错了吗?有什么你可以用列表理解来做而你不能用函数式方法做的吗?

haskell functional-programming list-comprehension
1个回答
3
投票

你没看错,列表理解语法不是需要的。但是

do
符号(BTW 以几乎相同的方式脱糖)、简单的列表文字,甚至字符串文字都不是。而不是写
"Hello, World!"
你总是可以写

       'H':'e':'l':'l':'o':',':' ':'W':'o':'r':'l':'d':'!':[]

更进一步,您还可以问为什么我们不直接用 lambda 演算/System F 编写程序,而是用实际的编程语言编写程序。

你可能会看到我的意思:

你为什么要使用列表理解

– 因为它们简洁、好看,而且很容易理解它的意思。

© www.soinside.com 2019 - 2024. All rights reserved.