我对记录有一个疑问:假设我有一个接受记录的函数,如下所示:
getId : { file | id : String } -> String
getId file = file.id
我可以传递这样的内容:{ id = "abcd", name = "hi.txt"}
,因为它有一个id
。到目前为止一切都很好。我的问题是:我可以在函数类型签名中为“文件”创建别名吗?的语法是什么?
答案 0 :(得分:8)
您可以像这样为可扩展记录定义别名WithID
type alias WithID a = { a | id : String }
现在您可以像这样更新getId
的签名:
getId : WithID a -> String
getId file = file.id