在这种情况下,"函数标量New中的非穷举模式"是什么意思?
scalarNew :: [Integer]->[Integer]->Integer
scalarNew (x:xs) (y:ys)
| (length xs == length ys) = x * y + scalarNew xs ys
| otherwise = error "error"
使用递归时必须添加基本情况。在这种情况下,基本情况是当两者都是空列表时。
scalarNew :: [Integer] -> [Integer] -> Integer
scalarNew [] [] = 0
scalarNew [] (y:ys) = error "error"
scalarNew (x:xs) [] = error "error"
scalarNew (x:xs) (y:ys)
| length xs == length ys = x * y + scalarNew xs ys
| otherwise = error "error"
编辑:仅处理一个空列表案例