如何更多地简化display
的代码:
这是我的初学者代码:
type Symbol = Cherry | Seven | Bar | Grapes
type alias Model =
{ one : Symbol
, two : Symbol
, three : Symbol
}
-- VIEW
display1 : Model -> String
display1 model =
case model.one of
Cherry ->
"Cherry"
Seven ->
"Seven"
Bar ->
"Bar"
Grapes ->
"Grapes"
display2 : Model -> String
display2 model =
case model.two of
Cherry ->
"Cherry"
Seven ->
"Seven"
Bar ->
"Bar"
Grapes ->
"Grapes"
display3 : Model -> String
display3 model =
case model.three of
Cherry ->
"Cherry"
Seven ->
"Seven"
Bar ->
"Bar"
Grapes ->
"Grapes"
display : Model -> String
display model =
display1(model) ++ " " ++ display2(model) ++ " " ++ display3(model)
发布于 2022-11-14 16:46:38
您可以传递Symbol
类型而不是Model
,并拥有1函数而不是3:
type Symbol = Cherry | Seven | Bar | Grapes
type alias Model =
{ one : Symbol
, two : Symbol
, three : Symbol
}
-- VIEW
display1 : Symbol -> String
display1 symbol =
case symbol of
Cherry ->
"Cherry"
Seven ->
"Seven"
Bar ->
"Bar"
Grapes ->
"Grapes"
display : Model -> String
display model =
display1(model.one) ++ " " ++ display1(model.two) ++ " " ++ display1(model.three)
https://stackoverflow.com/questions/74434819
复制相似问题