Perlゼミ

Perlでテキスト処理、Linuxサーバー管理、Webシステム開発
  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」に該当する「無名のハッシュ」が作成されているのです。

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

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

Perlの入門書
  • 初めてのPerl 第7版

    Perl入門 定番の一冊
  • 業務に役立つPerl

    ログ解析など日本語を含むテキスト処理の実践!
Twitter
Perlゼミの情報が役立ったら、フォロー、いいね、リツートで応援。