【发布时间】:2016-06-21 14:29:30
【问题描述】:
我尝试制作一个函数,它接受记录和属性名称列表并将值作为字符串列表返回:
Model -> (List String) -> (List String)
目标是以后能够将记录动态呈现到 HTML 表中:
Model -> (List String) -> (Html Cmd)
我成功实现了这个:
import Html exposing (text)
type Field
= FieldInt Int
| FieldString String
type alias Model =
{ name: Field
, age: Field
}
user1 = Model (FieldString "foo") (FieldInt 3)
field2text: Field -> String
field2text field =
case field of
FieldInt value ->
toString value
FieldString value ->
value
updateModel: (List (a -> Field)) -> (List String)
model2values fns model =
List.map (\fn -> field2text <| fn model) fns
main =
text <| toString (model2values [.name, .age] user1)
如何更新model2values 函数以将最后一行更改为:
main =
text <| toString (model2values ["name", "age"] user1)
【问题讨论】:
标签: functional-programming elm