« 配列の要素数を調べる | メイン | イベイシブ攻撃用のプログラムを組む »

カテゴリー:ハッシュ(連想配列) リスト(配列) 

配列の値をキーにしたハッシュを作成する

このエントリーを含むはてなブックマーク  livedoorクリップ  配列の値をキーにしたハッシュを作成するをdel.icio.usに追加  配列の値をキーにしたハッシュを作成するをYahoo!ブックマークに追加  配列の値をキーにしたハッシュを作成するをニフティクリップに追加

配列Aに入っている全ての値を、ハッシュHのキーにしたい。これは一行で解決する。
#!/usr/bin/perl

;#
;#配列の値をキーにしたハッシュを作成
;#

use strict;
use Data::Dumper;

#---------------------------------------#
#準備
#---------------------------------------#
my @a = (0..9);
my %h = ();

#---------------------------------------#
#作成
#---------------------------------------#
@h{@a} = ('a'..'j');

#---------------------------------------#
#表示
#---------------------------------------#
print Dumper(\%h);

○実行結果
左辺がハッシュのキー、右辺が値
$VAR1 = {
          '6' => 'g',
          '3' => 'd',
          '7' => 'h',
          '9' => 'j',
          '2' => 'c',
          '8' => 'i',
          '1' => 'b',
          '4' => 'e',
          '0' => 'a',
          '5' => 'f'
        };


ここではハッシュの値を('a'..'j')としたが、「@h{@a} = ();」とすればすべて空にもできるし、「@h{@a} = ( (1) x ($#a+1));」などとすれば1が全ての値となる。もちろん別の配列(リスト)を持ってきても良い。


トラックバック

このエントリーのトラックバックURL:
http://katsubemakito.net/mt/mt-tb.cgi/650






クリエイティブ・コモンズ・ライセンス
このブログは、次のライセンスで保護されています。 クリエイティブ・コモンズ・ライセンス.