【发布时间】:2010-09-29 05:11:50
【问题描述】:
如果我想执行以下操作:
function1 stuff
| condition1 = "yay"
| condition2 = "hey"
| condition3 = "nay"
我想要一个始终无条件运行的语句(例如“因为”),我怎么能这样做?字符串是占位符。
谢谢!
编辑:
在我放弃之前,我想尝试根据手头的问题重新表述它。
我有一个函数,它接受两个输入(列表的列表)。
如果给定 [[]] [[[]], [[]]] (或 [[]] [[["x"]], [[]]]) 的样本输入,我想
- 测试每边是否存在偶数的 [[]],如果存在则将它们全部删除
- 在每一侧测试奇数然后小块(删除除一个之外的所有)
- 其他几个类似的东西
然后按照此合并两个输入(清理)并返回它们。到目前为止,在尝试了 case 和 if-then-else 之后,我已经决定了一种保护语法。但这只会让我测试一侧(例如),然后在 = 符号之后加入并返回。除非它太长了......所以承认我还有很多东西要学,我将如何在haskell中做这样的事情?
【问题讨论】:
-
你还在用命令式思考。 Haskell 中的表达式没有运行,它们被评估并且评估产生一个值。如果你想分解一个公共子表达式,那么你可以使用
where关键字