对于家庭作业,子任务是使算术函数(+)、(-)和(*)可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。前面练习中的算术运算应该表示为“加号”、“减号”、“次”和“格”。
感谢您提前提供任何帮助