Re: RFC 118 (v1) lvalue subs: parameters, explicit assignment, andwantarray() changes
[email protected] (Chaim Frenkel) 23 Aug 2000 18:14:13 -0400
| Newsgroups | perl.perl6.language.subs |
|---|---|
| Message-ID | <[email protected]> |
I would have assumed that a pre/post/invariant would not be used regularly, but rather under optional control. So this would lose that feature. <chaim> >>>>> "DC" == Damian Conway <[email protected]> writes: >> So if all I want to do is make sure that certain attributes are positive >> integers, I have to do this: >> >> [ admittedly ungainly solutions snipped ] >> >> I'd much prefer a solution where the positive-only logic was in a method >> belonging to the class, rather than being attached to afflicted attributes. >> The only ways I can see of doing this are like Gnat or Andy's RFCs. DC> TMTTWTDO! ;-) DC> What you really want is a postcondition or class invariant. DC> One that asserts that x is always positive: DC> sub new { bless {}, $_[0] } DC> sub x { lreturn $_[0]->{x} } DC> # and one of... DC> post x { $_[0]->{x} >= 0 } # post condition on x attribute DC> ensure { $_[0]->{x} >= 0 } # class invariant -- Chaim Frenkel Nonlinear Knowledge, Inc. [email protected] +1-718-236-0183