型の合成
FP では小さな関数から新しい関数を、小さな型から新しい型を作るために 合成 を用いる。 小さな型から新しい型を作る
F# では 2 つの方法で型を合成できる
code:fsharp
type FruitSalad = {
Apple: AppleVariety
Banana: BananaVeriety
Cherries: CherryVariety
}
code:fsharp
type FruitSnack =
| Apple of AppleVariety
| Banana of BananaVariety
| Cherries of CherryVariety
選択肢が 1 つしかない選択型を定義することも可能(単純型) code:fsharp
type ProductCode =
| ProductCode of string
type ProductCode = ProductCode of string
プリミティブを内部値として含むラッパー型を定義するため(値オブジェクト)