Как создать псевдоним для записи в этом случае? - PullRequest
4 голосов
/ 21 января 2020

У меня вопрос о записях: допустим, у меня есть функция, которая принимает запись, например:

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

Я мог бы передать что-то вроде этого: { id = "abcd", name = "hi.txt"}, потому что у него есть id. Пока все хорошо. Мой вопрос: могу ли я создать псевдоним для «файла» в сигнатуре типа функции? Какой будет синтаксис для этого?

1 Ответ

8 голосов
/ 21 января 2020

Вы можете определить псевдоним для этой расширяемой записи с именем WithID следующим образом:

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

Теперь вы можете обновить подпись getId следующим образом:

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