You need to write
LeapDay(yr) = isLeapYr(yr) ? Nullable(Date(yr,2,29)) : Nullable{Date}()
so that the return value is always a Nullable{Date}.
-erik
On Mon, Feb 8, 2016 at 10:08 PM, Michael Landis
<[email protected]> wrote:
> I'm so confused....
>
> I thought this would be cool:
> isLeapYr(yr::Int64) = yr % 400 == 0 || (yr % 4 == 0 && yr % 100 != 0)
> LeapDay(yr) = isLeapYr(yr) ? Date(yr,2,29) : Nullable{Date}()
>
> lp15 = LeapDay(2015) --> Nullable{Date}()
> lp16 = LeapDay(2016) --> 2016-02-29
>
> no surprises there, but when I test the return values ...
>
> isnull( lp15 ) --> true
> isnull( lp16 ) --> MethodError: `isnull` has no method matching isnull(
> ::Date )
>
> What IS the secret Nullable{Date} formulation?
--
Erik Schnetter <[email protected]>
http://www.perimeterinstitute.ca/personal/eschnetter/