对于家庭作业,子任务是使算术函数(+)
、(-)
和(*)
可div
显示。
我们已经解决了剩下的任务,但我们被困在这里。现在我们在这里使用这个问题的解决方案来区分操作:
showOp op = case op 3 3 of
6 -> "plus"
0 -> "minus"
9 -> "times"
1 -> "divide"
_ -> "undefined"
然而,这让我觉得像showOp (\a b -> a * 3 - y)
yield这样的东西一样丑陋"plus"
。
有没有办法更好地区分运营商?
我们正在使用带有适当开关的 winhugs atm,-98 +o
以便能够使用所需的扩展。
编辑:
根据要求,实际分配与数组有关(特别是Array Int (Int -> Int -> Int)
)。它与生成满足特定条件的运算符数组有关。
任务规定:
将数据类型设为 的
Array Int (Int->Int-Int)
实例Show
。前面练习中的算术运算应该表示为“加号”、“减号”、“次”和“格”。
感谢您提前提供任何帮助