Voglio essere in grado di catturare fatti come Bob was born in 2000
e Bill's birthday is May 7th
.
In entrambi gli esempi conosciamo solo una parte della data di nascita della persona. In un caso conosciamo solo l'anno; nell'altro caso conosciamo il mese e il giorno, ma non l'anno.
Come acquisisco queste informazioni?
Alcuni esempi di come potrebbe funzionare:
Immagina una libreria come datetime che ha permesso a None nei campi di rappresentare incognite. Potrei avere un codice come il seguente:
date_a = date(2000, 5, None)
date_b = date(2000, 6, None)
difference = date_b - date_a
assert difference.min.days == 1
assert difference.max.days == 60 # Or something close to 60.
assert equal(date_a, date_b) == False
date_c = date(2000, 5, None)
assert equal(date_a, date_c) == Maybe
Questo è solo un esempio di come potrebbe comportarsi. Non voglio necessariamente questo comportamento preciso.