Reputation: 37
got some code to complete. But I don't know how to handle the nasted let in expression. Thats the code:
data Zutat = Tomate | Fleisch | Salat
data Bun = Weizen | Roggen
data Sosse = Ketchup Sosse | Mayo Sosse | Keine
data Burger = Burger Bun [Zutat] Sosse
and I need to complete the code:
let zt = in -- Zutat
let so = in -- Sosse
let dw =
dw
has to be like dw = Weizen [Tomate,Fleisch,Fleisch] (Mayo (Ketchup Keine))
got this:
zt = [Tomate,Fleisch,Fleisch]
so = Mayo (Ketchup Keine)
dw = Burger Weizen zt so
but how can I build it into the let in expression?
Upvotes: 0
Views: 990
Reputation: 54971
You can just insert those expressions into the let
expressions:
let zt = [Tomate, Fleisch, Fleisch] in
let so = Mayo (Ketchup Keine) in
let dw = Burger Weizen zt so in
...
Or use a single let
expression:
let
zt = [Tomate, Fleisch, Fleisch]
so = Mayo (Ketchup Keine)
dw = Burger Weizen zt so
in ...
Complete example:
data Zutat = Tomate | Fleisch | Salat
deriving (Show)
data Bun = Weizen | Roggen
deriving (Show)
data Sosse = Ketchup Sosse | Mayo Sosse | Keine
deriving (Show)
data Burger = Burger Bun [Zutat] Sosse
deriving (Show)
main :: IO ()
main = let
zt = [Tomate, Fleisch, Fleisch]
so = Mayo (Ketchup Keine)
dw = Burger Weizen zt so
in print dw
Output:
Burger Weizen [Tomate,Fleisch,Fleisch] (Mayo (Ketchup Keine))
It sounds like you need to consult a reference on basic Haskell syntax.
Upvotes: 5