我是Haskell的初學者,我試圖實現一個函數,該函數返回列表中的內容相乘。這裏是我的代碼:Haskell中列表的乘法內容
product' :: Num a => [a] -> a
product' [] = 1
product' (_:xs) = foldl (*) 1 xs
在命令行中,我在產品類型:
product' [2,3,4]
,我得到的12,而不是24,我知道它與列表的第一個元素做沒有被閱讀,但我無法弄清楚。任何幫助或指導將不勝感激。
我是Haskell的初學者,我試圖實現一個函數,該函數返回列表中的內容相乘。這裏是我的代碼:Haskell中列表的乘法內容
product' :: Num a => [a] -> a
product' [] = 1
product' (_:xs) = foldl (*) 1 xs
在命令行中,我在產品類型:
product' [2,3,4]
,我得到的12,而不是24,我知道它與列表的第一個元素做沒有被閱讀,但我無法弄清楚。任何幫助或指導將不勝感激。
爲什麼你用_省略第一個元素? – qxg
@qxg我不知道他們是_和使用變量x之間的區別。 – legoniko
_表示未使用的變量。 – qxg