Mercurial > pub > Impl
diff Lib/IMPL/lang.pm @ 178:658a80d19d33
new constructor syntax
author | sourcer |
---|---|
date | Wed, 12 Oct 2011 00:06:07 +0300 |
parents | df71a307ef9b |
children | 47dac58691ee |
line wrap: on
line diff
--- a/Lib/IMPL/lang.pm Wed Oct 12 00:04:13 2011 +0300 +++ b/Lib/IMPL/lang.pm Wed Oct 12 00:06:07 2011 +0300 @@ -39,7 +39,6 @@ &static &property &ctor - &base ) ], compare => [ @@ -120,7 +119,7 @@ } sub ctor(&;$) { - my ( $code, $base ) = @_; + my ( $code, %base ) = @_; no strict 'refs'; my $class = caller; @@ -128,15 +127,11 @@ *{"${class}::CTOR"} = $code; } - if (ref $base eq 'HASH') { - %{"${class}::CTOR"} = %$base; + if (%base) { + %{"${class}::CTOR"} = %base; } } -sub base($) { - return shift; -} - sub equals { if (defined $_[0]) { return 0 if (not defined $_[1]);