lib and main in separated modules
This commit is contained in:
31
Main.hs
Executable file
31
Main.hs
Executable file
@@ -0,0 +1,31 @@
|
|||||||
|
#!/usr/bin/env runhaskell
|
||||||
|
|
||||||
|
import RecipeCost
|
||||||
|
|
||||||
|
-- * Example (in french for now)
|
||||||
|
eau = Ingredient "Eau" 0.003
|
||||||
|
savonMarseille = Ingredient "Savon de Marseille" 3.36
|
||||||
|
bicarbonate = Ingredient "Bicarbonate de soude" 3.81
|
||||||
|
vinaigreBlanc = Ingredient "Vinaigre blanc" 0.36
|
||||||
|
|
||||||
|
lessive :: Recipe
|
||||||
|
lessive = Recipe "Lessive"
|
||||||
|
[ eau → 2.5
|
||||||
|
, savonMarseille → 0.1
|
||||||
|
, bicarbonate → 0.016
|
||||||
|
, vinaigreBlanc → 0.03
|
||||||
|
]
|
||||||
|
2.5
|
||||||
|
30
|
||||||
|
|
||||||
|
main = do
|
||||||
|
putStrLn "Calcul du coût des recettes\n"
|
||||||
|
putStrLn "* Lessive :"
|
||||||
|
print lessive
|
||||||
|
let lessiveTotalCost = recipeCost lessive
|
||||||
|
lessiveUnitCost = unitCost lessive lessiveTotalCost
|
||||||
|
lessiveUseCost = useCost lessive lessiveTotalCost
|
||||||
|
putStrLn $ " * Prix Total = " ++ show lessiveTotalCost ++ "€"
|
||||||
|
putStrLn $ " * Prix au litre = " ++ show lessiveUnitCost ++ "€"
|
||||||
|
putStrLn $ " * Prix par utilisation = " ++ show lessiveUseCost ++ "€"
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
#! /usr/bin/env runhaskell
|
module RecipeCost where
|
||||||
|
|
||||||
-- * Data types definition
|
-- * Data types definition
|
||||||
data Ingredient = Ingredient { ingredientName :: String
|
data Ingredient = Ingredient { ingredientName :: String
|
||||||
@@ -28,31 +28,3 @@ useCost (Recipe _ _ _ uses) totalCost = totalCost / uses
|
|||||||
|
|
||||||
(→) :: Ingredient -> Double -> UsedIngredient
|
(→) :: Ingredient -> Double -> UsedIngredient
|
||||||
(→) ingredient qtt = UsedIngredient ingredient qtt
|
(→) ingredient qtt = UsedIngredient ingredient qtt
|
||||||
|
|
||||||
-- * Example (in french for now)
|
|
||||||
eau = Ingredient "Eau" 0.003
|
|
||||||
savonMarseille = Ingredient "Savon de Marseille" 3.36
|
|
||||||
bicarbonate = Ingredient "Bicarbonate de soude" 3.81
|
|
||||||
vinaigreBlanc = Ingredient "Vinaigre blanc" 0.36
|
|
||||||
|
|
||||||
lessive :: Recipe
|
|
||||||
lessive = Recipe "Lessive"
|
|
||||||
[ eau → 2.5
|
|
||||||
, savonMarseille → 0.1
|
|
||||||
, bicarbonate → 0.016
|
|
||||||
, vinaigreBlanc → 0.03
|
|
||||||
]
|
|
||||||
2.5
|
|
||||||
30
|
|
||||||
|
|
||||||
main = do
|
|
||||||
putStrLn "Calcul du coût des recettes\n"
|
|
||||||
putStrLn "* Lessive :"
|
|
||||||
print lessive
|
|
||||||
let lessiveTotalCost = recipeCost lessive
|
|
||||||
lessiveUnitCost = unitCost lessive lessiveTotalCost
|
|
||||||
lessiveUseCost = useCost lessive lessiveTotalCost
|
|
||||||
putStrLn $ " * Prix Total = " ++ show lessiveTotalCost ++ "€"
|
|
||||||
putStrLn $ " * Prix au litre = " ++ show lessiveUnitCost ++ "€"
|
|
||||||
putStrLn $ " * Prix par utilisation = " ++ show lessiveUseCost ++ "€"
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user