【发布时间】:2020-11-16 04:35:50
【问题描述】:
我从 F# 开始,我在 https://fsharpforfunandprofit.com/posts/fsharp-in-60-seconds// 上阅读了有关递归联合类型的信息
给出链接中的示例
type Employee =
| Worker of Person
| Manager of Employee list
如何创建Manager 类型的值并为其分配一个工人列表?
我可以像这样创建Worker 类型的值:
let john = {First = "John"; Last="Doe"}
let worker = Worker john
但我不知道如何创建 jane 类型的 Manager 值,并将 john 分配为 Empoyee 列表中的一项:
let jane = { First="Jane"; Last="Doe" }
let manager = Manager [worker]
这可行,但我无法将 First 和 Last 从 jane 分配给 manager。
在此示例中,经理是否意味着根本没有 First / Last?
我必须如何更改 Manager 的类型定义才能同时拥有 Employee 的列表?
此外,Manager 似乎还没有成员 employees 我可以在创建 Manager 类型的值后访问?
【问题讨论】:
标签: f#