Dartz を理解しようとしていますが、ドキュメントが十分に明確ではありません。dartz のいずれかと Option の違いを取得する必要がありますか?
abstract class Option<A> implements TraversableMonadPlusOps<Option, A>
VS
abstract class Either<L, R> implements TraversableMonadOps<Either<L, dynamic>, R>
通常、Option
型は、型付きの値を保持するか、何も保持しない型です。
たとえば、整数のリストの最初の整数を取得する場合、リストが空の場合はOption<int>
int または何もない可能性があるため、それは である可能性があります。ただし、文字列にすることはできません。
タイプとは、そのEither
名前が示すとおりです...どちらか一方です。そして、それは完全に2つの異なるタイプになる可能性があります. Either<int, string>
intまたはstring のいずれかになります。決して両方ではありません。決してありません。どちらか一方です。
たとえば、機能的な ParseInt メソッドはEither<int, string>
、有効な int またはエラー メッセージのいずれかを返すため、 を返す場合があります。