【发布时间】:2021-06-06 08:05:24
【问题描述】:
- 嵌套记录
记录是否类似于字典,它是带有名称的对象树? 或者记录只是简单类型的列表
let r = { b = { a = 2 } } // is this possible? if not, how to achieve? is this useful in f#?
对我来说,有区别的工会有可能实现类似的行为(下面的代码)
// Discriminated union for a card's suit
type Suit = | Heart | Diamond | Spade | Club
let suits = [Heart; Diamond; Spade; Club]
suits
// Discriminated union for playing cards
type PlayingCard =
| Ace of Suit
| King of Suit
| Queen of Suit
| Jack of Suit
| ValueCard of int * Suit
// generating a deck of cards
let deckOfCards =
[
for suit in [Spade; Club; Heart; Diamond] do
yield Ace(suit)
yield King(suit)
yield Queen(suit)
yield Jack(suit)
for value in 2..10 do
yield ValueCard(value, suit)
]
它有点类似于 python 或 idk 中的字典。下面的代码是虚拟的
type Customer =
{
FirstName : string
Contacts =
{
WorkPhone : string
MobilePhone : string
}
}
【问题讨论】: