我需要一些帮助来解决Haskell中的一个问题。
我想创建一个有三个参数的函数——第一个参数是一个代表算术运算的字符,如'+', '-', '*', '/'
,接下来的两个参数是数字列表,这个函数应该返回一个数字列表,这样在给定参数的情况下
'-' [3,4,7] [-4,6,6]
它将返回
[7,-2,1]
但我不知道如何开始。
此外,如何计算结果列表的最小元素?
查看函数
zipWith :: (a -> b -> c) -> [a] -> [b] -> [c]
和
minimum :: Ord a => [a] -> a
。
你应该能够用这些来构建你想要的功能。
关于:
f opStr x y = zipWith op x y where
op = case opStr of
'+' -> (+)
'-' -> (-)
'*' -> (*)
'/' -> (/)
或者更短,您可以将第一行替换为;
f opStr = zipWith op where