如何在这种情况下为记录创建别名?

问题描述 投票:4回答:1

我对记录有疑问:可以说我有一个接受记录的函数,如下所示:

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

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

alias record elm
1个回答
8
投票

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

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

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

getId : WithID a -> String
getId file = file.id
© www.soinside.com 2019 - 2024. All rights reserved.