在Perl中创建结构数组

时间:2012-06-21 20:07:42

标签: perl perl-data-structures

use Class::Struct;

struct(TradeId => [
        tradeIdScheme => '$',
        id => '$',
]);

struct(VersionedTradeId => [
        tradeId => 'TradeId',
        version => '$',
        effectiveDate => '@',
]);

我想在'VersionedTradeId'结构中创建一个'TradeId'数组。

1 个答案:

答案 0 :(得分:1)

试试这个:http://www.nntp.perl.org/group/perl.beginners/2007/09/msg95440.html

参见Class :: Struct docs中的示例1:

示例1

为struct元素提供一个也是结构的类类型是嵌套结构的方式。这里,Timeval表示时间(秒和微秒),Rusage有两个元素,每个元素都是Timeval类型。

use Class::Struct;
struct( Rusage => {
ru_utime => '@', # user time used
ru_stime => 'Timeval', # system time used
});
struct( Timeval => [
tv_secs => '$', # seconds
tv_usecs => '$', # microseconds
]);
# create an object:
my $t = Rusage->new(ru_utime=>[Timeval->new(), Timeval->new(), Timeval->new()], ru_stime=>Timeval->new());
# $t->ru_utime and $t->ru_stime are objects of type Timeval.
# set $t->ru_utime to 100.0 sec and $t->ru_stime to 5.0 sec.
$t->ru_utime->tv_secs(100);
$t->ru_utime->tv_usecs(0);
$t->ru_stime->tv_secs(5);
$t->ru_stime->tv_usecs(0);