首页 > 解决方案 > 在这种情况下如何为记录创建别名?

问题描述

我有一个关于记录的问题:假设我有一个记录记录的函数,如下所示:

getId : { file | id : String } -> String
getId file = file.id

我可以传入这样{ id = "abcd", name = "hi.txt"}的内容:因为它有一个id. 到目前为止一切都很好。我的问题是:我可以在函数类型签名中为“文件”创建一个别名吗?那会是什么语法?

标签: aliasrecordelm

解决方案


您可以为这个可扩展记录定义一个别名,WithID如下所示:

type alias WithID a = { a | id : String }

getId现在您可以像这样更新签名:

getId : WithID a -> String
getId file = file.id

推荐阅读