【发布时间】:2013-01-30 01:20:50
【问题描述】:
我是 Haskell 的新手,正在努力学习基础知识。我很难理解如何操作列表的内容。
假设我有以下列表,我想创建一个函数来从列表中的每个元素中减去 1,我可以简单地将 x 传递给函数,这将如何完成?
Prelude>let x = 1:2:3:4:5:[]
类似:
Prelude>subtractOne(x)
【问题讨论】:
-
你的意思是
Prelude> subtractOne x?请记住,Haskell不在函数中使用括号。 -
@Code-Guru,
subtractOne(x)的表达是完全合法的,虽然不是 Haskellish -
@Code-Guru,以 Haskell 自己命名的 Curry 函数怎么样!他们在函数中使用括号并工作 %100 并且是 Haskell 的一部分。
-
@nameless 我不知道。我读过的所有Haskell代码都没有使用括号,所以我没有考虑它是否合法。经过思考,我明白为什么它有效。我怀疑括号只是围绕表达式
x并且 not 用于函数调用。 -
add (x,y)中的括号说明了 Haskell 用于提取 2 元组的两个元素的模式匹配功能。
标签: haskell