函数标量中的非穷举模式新

  • 本文关键字:模式 标量 函数 haskell
  • 更新时间 :
  • 英文 :


在这种情况下,"函数标量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"

编辑:仅处理一个空列表案例

最新更新