Create an object/Native demonstration: Difference between revisions
Create an object/Native demonstration (view source)
Revision as of 16:37, 22 August 2016
, 7 years ago→{{header|Perl 6}}: removed extraneous '*' from 'new' method
SqrtNegInf (talk | contribs) m (→{{header|Perl 6}}: removed extraneous '*' from 'new' method) |
|||
Line 292:
eval {...} called at test.pl line 66</lang>
=={{header|Perl 6}}==
{{
Here we use delegation to handle all the normal hash methods that we don't need to override to define our new class.
<lang perl6>class FixedHash {
has $.hash handles *;
method new(*@args) { self.bless:
method AT-KEY(FixedHash:D: $key is copy) is rw {
$!hash.EXISTS-KEY($key) ?? $!hash.AT-KEY($key) !! Failure.new(q{can't store value for unknown key});
|