【发布时间】:2020-06-03 21:01:53
【问题描述】:
我想知道是否可以从 Haskell 中的可迭代事物中创建变量。我在搜索时找到了this,但我无法根据我的情况调整它。也许这是不可能的,或者因为我是初学者,所以我错过了一些东西。基本上,我想知道在 Haskell 中是否有可能:
>>> list_of_lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
>>> a, b, c = list_of_lists
>>> print(a)
[1, 2, 3]
【问题讨论】:
-
可以解压,例如
let [a, b, c] = [[1,2,3], [4,5,6], [7,8,9]] in a。然而,它并没有什么“特别”,就像在 Python 中一样,它是简单的模式匹配。对于大多数可折叠产品(如Tree、Maybe等),您可以使用toList。 -
它被称为pattern matching,除了列表之外,它适用于许多数据类型。
标签: python haskell iterable-unpacking