Saya ingin dapat menangkap fakta seperti Bob was born in 2000
dan Bill's birthday is May 7th
.
Dalam kedua contoh tersebut, kita hanya mengetahui sebagian dari tanggal lahir orang tersebut. Dalam satu kasus kita hanya tahu tahun; dalam kasus lain kita tahu bulan dan hari, tetapi bukan tahun.
Bagaimana cara saya menangkap informasi ini?
Beberapa contoh cara kerjanya:
Bayangkan pustaka seperti datetime yang memungkinkan None di bidang untuk mewakili yang tidak diketahui. Saya mungkin memiliki kode seperti berikut ini:
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
Ini hanyalah sebuah contoh bagaimana perilaku itu. Saya tidak selalu menginginkan perilaku yang tepat ini.