data GroceryItem = CartItem ItemName Price Quantity | StockItem ItemName Price Quantity
makeGroceryItem :: String -> Float -> Int -> GroceryItem
makeGroceryItem name price quantity = CartItem name price quantity
I want to create a `GroceryItem` when using a `String` or `[String]`
createGroceryItem :: [String] -> GroceryItem
createGroceryItem (a:b:c) = makeGroceryItem a b c
Вход будет в формате ["Apple","15.00","5"]
, который я расстался с использованием функции words
Haskell.Преобразование String в Integer/Float в Haskell?
Я получаю следующее сообщение об ошибке, которое я думаю, потому что makeGroceryItem
принимает Float
и Int
.
*Type error in application
*** Expression : makeGroceryItem a read b read c
*** Term : makeGroceryItem
*** Type : String -> Float -> Int -> GroceryItem
*** Does not match : a -> b -> c -> d -> e -> f*
Но как мне сделать b
и c
типа Float
и Int
, соответственно?
у вас есть интересный проект. для чего это? –