ブログトップ 記事一覧 ログイン 無料ブログ開設

サンプルコードによるPerl入門

2008-02-27

reverse関数 - ハッシュのキーと値を入れ替える

 ハッシュのキーと値を入れ替えるにはreverseを使用します。

my %hash_r = reverse %hash;

サンプル

 reverse関数を使ってハッシュのキーと値を入れ替えるサンプルです。

use strict;
use warnings;

use Data::Dumper;
my %x_to_y = (
  'x1' => 'y1',
  'x2' => 'y2',
  'x3' => 'y3',
);

print "元のハッシュ\n";
print Data::Dumper->Dump( [ \%x_to_y ],[ '*x_to_y' ] );
print "\n";

# 1: ハッシュのキーと値を入れ替える。
# ハッシュに対して,reverse関数を用いる。
my %y_to_x = reverse %x_to_y;
print "1: ハッシュのキーと値を入れ替える\n";
print Data::Dumper->Dump( [ \%y_to_x ], [ '*y_to_x' ] );

 実行結果

元のハッシュ
%x_to_y = (
            'x3' => 'y3',
            'x2' => 'y2',
            'x1' => 'y1'
          );

1: ハッシュのキーと値を入れ替える
%y_to_x = (
            'y1' => 'x1',
            'y3' => 'x3',
            'y2' => 'x2'
          );

解説

ハッシュのキーと値を入れ替える。
my %y_to_x = reverse %x_to_y;

 ハッシュに対して,reverse関数を用います。キーと値が一対一に対応していない場合は、入れ替えは、保障されません。


Perl逆引き辞典/ハッシュへ

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証