嘿伙计们,我被卡住了,我不知道如何继续:
使用元组 (2,4) 必须执行所有操作并打印结果,例如
(2,4,'+',6),(2,4,'*',8)
我的想法是这样的
操作 x = [(x,Ops,finalValue) | x <- x, 操作 <- 操作, finalValue <- finalValue]
但是我不确定如何评估乘法加法等并计算运算结果......有什么建议可以引导我走上正轨吗?
谢谢
所以首先要做的是列出操作及其名称
ops = [( (*), '*'), ( (+), '+'), ( (-), '-'), ( div, '/')]
-- div is integer division
接下来我们处理实际的功能:
operations (x, y) = [ (x, y, do something here) | (op, name) <- ops]
Wheredo something here
格式化名称和结果。由于这非常简单(提示只需将 op 应用于 x 和 y)我不会给出完整的解决方案。不过,这是一个好的开始。
第一个解决方案当然可以是
operations (x, y) = [ (x, y, '+', x+y), (x, y, '*', x*y) ]
只需扩展更多元组即可进行更多操作。