我寫了一個叫product
功能:爲什麼此代碼會導致「模糊變量發生」錯誤?
product [] = 1
product (x:xs) = x * product xs
當我將其加載到WinHug:
錯誤文件:\ product.hs:4 - 模糊的變量發生的 「產品」
** *可以參考:Main.product Hugs.Prelude.product
這是什麼意思?
我寫了一個叫product
功能:爲什麼此代碼會導致「模糊變量發生」錯誤?
product [] = 1
product (x:xs) = x * product xs
當我將其加載到WinHug:
錯誤文件:\ product.hs:4 - 模糊的變量發生的 「產品」
** *可以參考:Main.product Hugs.Prelude.product
這是什麼意思?
的product
功能defined in the Haskell Prelude.
您當地的定義衝突與庫版本。
考慮將您的版本重命名爲例如myproduct
或import Prelude hiding (product)
。
而且,你可能要考慮using GHC instead of Hugs.
已經有一個在Haskell Prelude命名product
功能。
順便說一句,你應該安裝Haskell Platform而不是擁抱;擁抱是一個不再被維護的舊項目,GHC/i得到了更好的支持並具有更多特徵。即使你的學校希望你使用Hugs,私自使用GHCi的Haskell平臺也沒有什麼壞處。