You could just do: method new (Str $value?) { ... } # makes value optional
and then not pass anything to .new. On Tue, Feb 23, 2016 at 1:27 PM TS xx <maringa...@hotmail.com> wrote: > Thanks Brandon, > > > That was what I was looking for. > > I'm trying it already. > > > Regards, > > Emiliano > > > ------------------------------ > *From:* Brandon Allbery <allber...@gmail.com> > *Sent:* Tuesday, February 23, 2016 2:21 AM > *To:* TS xx > *Cc:* perl6-us...@perl.org > > *Subject:* Re: Need help with Nil values > On Mon, Feb 22, 2016 at 9:15 PM, TS xx <maringa...@hotmail.com> wrote: > >> I expect $.value to hold Strings, but I want to be able to instantiate >> MyClass whether I have a value already or not, and I also want to be able >> to tell if $.value has a real String or not. Is this possible? > > > You don't want Nil there; it's not the undefined value, it's a value of a > special type. You want Str, the type object for Strings, which also serves > as the undefined value (also true for other types). You can test it with > `defined`. > > $myObject = MyClass.new(Str); > > then you can test $!value.defined or whatever. > > -- > brandon s allbery kf8nh sine nomine > associates > allber...@gmail.com > ballb...@sinenomine.net > unix, openafs, kerberos, infrastructure, xmonad > http://sinenomine.net >