-1
したがって、2種類の代数データ型(ADT)があります。 ScalaのOption[T]
またはJavaのOptional<T>
の場合、これは合計型または製品型の例ですか?どの種類の代数データ型がOption [T]またはOptionalであるか<T>
したがって、2種類の代数データ型(ADT)があります。 ScalaのOption[T]
またはJavaのOptional<T>
の場合、これは合計型または製品型の例ですか?どの種類の代数データ型がOption [T]またはOptionalであるか<T>
ハスケルでOption[T]
タイプを定義すると、合計タイプであることがわかります。
None
Some t
のでOption[T]
とOptional<T>
両方のタイプT
を取った後、可能な1以上の追加:タイプOption t
の
data Option t = None | Some t
値が2つのもののいずれかになります。値(None
)。楽しみのために
、我々はまた、代数方程式にこのADTを翻訳することができます:Abusing the algebra of algebraic data types - why does this work?
私はあなたがそれを把握することができますかなり確信している:、この質問を参照してください理由を確認するには
'Optional'が 'T'か' T'なしのどちらかであると考えるならば。 –
molbdnilo
OK固定されているため –