in reply to Re^2: Generating accessors for complex structures inside the object
in thread Generating accessors and mutators for complex structures inside the object
Thanks for your questions. Before getting into the details; I did make some assumptions that need to be tested:
The class level structure (defined in Foo) is a effectively a struct definition:
So, if in Foo, you define
then the actual method created is C.package Foo; use base qw/Class::StructAccessors/; __PACKAGE__->mk_struct_accessors({A => {B => C}});
If you want another object with another fixed structure, then you need another classmy $obj = {}; bless $obj, "Foo"; $obj->{A}{B}{C} = "this is a C"; print $obj->C; # outputs "this is a C"
This will generate accessor method for Z.package Bar; use base qw/Class::StructAccessors/; __PACKAGE__->mk_struct_accessors({X => {Y => Z}});
In an nutshell, the above code works when you have finite number of structures that are know at run time.
I'm getting the feeling that you want a more dynamic solution that'll work at the instance on any structure; something like:
Always happy to assist (and code) :-) Please advise.my $obj = bless {a => {b => {c => 'data for c'}}}, "Class::StructAc +cessorMk2";
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^4: Generating accessors for complex structures inside the object
by KSURi (Monk) on Jan 23, 2008 at 19:00 UTC |