得到一些代码来完成.但我不知道如何处理这个禁止的表达.这是代码:
data Zutat = Tomate | Fleisch | Salat
data Bun = Weizen | Roggen
data Sosse = Ketchup Sosse | Mayo Sosse | Keine
data Burger = Burger Bun [Zutat] Sosse
Run Code Online (Sandbox Code Playgroud)
我需要完成代码:
let zt = in -- Zutat
let so = in -- Sosse
let dw =
Run Code Online (Sandbox Code Playgroud)
dw 必须像 dw = Weizen [Tomate,Fleisch,Fleisch] (Mayo (Ketchup Keine))
明白啦:
zt = [Tomate,Fleisch,Fleisch]
so = Mayo (Ketchup Keine)
dw = Burger Weizen zt so
Run Code Online (Sandbox Code Playgroud)
但是我如何将它构建到let in表达式中呢?
您可以将这些表达式插入let表达式中:
let zt = [Tomate, Fleisch, Fleisch] in
let so = Mayo (Ketchup Keine) in
let dw = Burger Weizen zt so in
...
Run Code Online (Sandbox Code Playgroud)
或者使用单个let表达式:
let
zt = [Tomate, Fleisch, Fleisch]
so = Mayo (Ketchup Keine)
dw = Burger Weizen zt so
in ...
Run Code Online (Sandbox Code Playgroud)
完整的例子:
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
Run Code Online (Sandbox Code Playgroud)
输出:
Burger Weizen [Tomate,Fleisch,Fleisch] (Mayo (Ketchup Keine))
Run Code Online (Sandbox Code Playgroud)
听起来您需要查阅有关基本Haskell语法的参考.
| 归档时间: |
|
| 查看次数: |
529 次 |
| 最近记录: |