Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:
That gives:use strict; use warnings; use Data::Dumper; package Datum; use Class::Struct; struct (Datum => { id => '$', new_id => '$', }); sub Datum::new_id { my $self = shift(); if (@_) { $self->{new_id} = $_[0] + 1; } return $self->{new_id}; } package Dataset; use Class::Struct; struct (Dataset => { member => '$', }); sub Dataset::dump_new_id { my $self = shift(); print "\n\n new_id is undefined\n\n" unless defined ($self->{new_i +d}); } package main; my $dataset = Dataset->new; my $datum = Datum->new; $datum->id(3); $datum->new_id(3); $dataset->member($datum); $dataset->dump_new_id; die Dumper($dataset);
new_id is undefined $VAR1 = bless( { 'Dataset::member' => bless( { 'Datum::id' => 3, 'new_id' => 4, 'Datum::new_id' => unde +f }, 'Datum' ) }, 'Dataset' );
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Overriding methods in Class::Struct
by davidrw (Prior) on Jul 10, 2005 at 17:04 UTC | |
by Anonymous Monk on Jul 11, 2005 at 08:28 UTC |