無名ハッシュ生成子 - ハッシュのリファレンスを作成



  1. Perl




  2. 演算子



  3. here

Perlには無名ハッシュ生成子「{}」という演算子があります。名前はちょっと難しいですが、実用的には、簡単にハッシュのリファレンスを作成するためのものです。

無名ハッシュ生成子を使うと、以下のように簡単にハッシュのリファレンスが作成できます。

# 無名ハッシュ生成子
my $point = {x => 1, y => 2};

もし無名ハッシュ生成子を使わない場合は、次のように書きます。まずハッシュを作成してから、リファレンス生成子を使って、ハッシュのリファレンスを作成します。

# 無名ハッシュ生成子を使わない場合
my %point = (x => 1, y => 2);
my $point = \%point;

無名ハッシュ生成子を使うと、上の処理を省略して書くことができるんです。{x => 1, y => 2}を見た時は、上の処理が省略されているという感覚を持つと理解しやすいと思います。

どうして「無名ハッシュ生成子」というの?

無名ハッシュ生成子を使うと「%point」というハッシュを作成する必要がありませんね。つまり、内部的に「%point」に該当する「無名のハッシュ」が作成されているのです。

きっと、この部分に焦点を当てて命名されたのでしょう。

無名ハッシュ生成子に対応して無名配列生成子というものあります。