Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
構造体
[go: Go Back, main page]

構造体


 ハッシュがあるのであまり必要ないのですが、Class::StructでC言語の構造体のようなものを使うことができます。
 ハッシュの場合キーを間違えても間違えたことに気付きにくいですが、Class::Structを使うとエラーになるのですぐに間違いに気付くことができます。
use Class::Struct;

struct Person => {
	name	=> '$',
	phone	=> '@',
};

my $taro = Person->new();

$taro->name('Taro');
$taro->phone(0, '03-0000-0000');
$taro->phone(1, '090-0000-0000');

printf "(%s, %s, %s)\n", $taro->name, $taro->phone(0), $taro->phone(1);
 上記では配列の代入や値の取得を一つずつやっていますが、
@{$taro->phone} = ('03-0000-0000', '090-0000-0000');
のようにまとめて代入することができますし、
@phones = @{$taro->phone};
このようにして値をまとめて取得することもできます。
 structのところで'%'を指定することでハッシュを使うこともできます。

関連項目

なし