undef とするハッシュキー Perl?

答えはnoです。

undef できませんのハッシュキー Perlです。 が微妙る ると思っている方がいるかもしれます。 コンタクト先は下記のとおり。

どのハッシュ

のデータ構造に存在するプログラミング言語Perlのハッシュ. ハッシュが順序付けの値です。 ここでは一例ですハッシュ:

my %h = (
    aa => 1,
    bb => 2,
);

このハッシュに格納し、組みの値です。 キーの名 'aa'に 格納された値 1, およびキーの名 'bb' 店舗の価値 2. を得るこれらの値を使用 構文 $h{aa}$h{bb}.

undef

undef の特殊値Perl、この値を示してはならない。 作成した場合は、変数が譲渡することはできませんので任意の値の場合、その値のまま undef:

▶ Run
#!/usr/bin/perl

use Data::Dumper;

my $var;

print Dumper $var;

プログラムをテキストを表示 $VAR1 = undef;.

undef は、継続してご利用可能でご覧になる場合存在しない配列の要素または 存在しないキーのハッシュ. できる明示的に割り当て undef 変数: $var = undef;.

使用上の誤り1

ここではサンプルプログラムという undef がキーハッシュ:

▶ Run
#!/usr/bin/perl

my %h = (
    undef => 'asdf',
);

print $h{undef};

のプログラムテキストが表示され asdf. Ieのようにして作成されたハッシュキー undef, そして私はこの鍵があります。 のもの。 この例では、値が格納され キー 'undef'、すなわち行 'undef'ではなく、実 undef.

これにより二つのが特徴です。

を作成する場合のハッシュ作成しましたのでカップルのキー-値 コードを使用 undef => 'asdf',. このコードオペレーター =>. ことに特化 のはなかなかは文字列として返します。 彼は終了いは左の => にお見積もり。 undef => 'asdf', 実際に 'undef' => 'asdf',.

第二の特徴は、どうして取得した値はハッシュによります。 また、構文 $h{undef}. そのPerlると考えていかに巻きブレースは文字列です。 いちと同じ $h{'undef'}.

届いたものだと考えることができることになっているのでしを実行する場合スクリプトにより差し込む特殊モジュール の代わりに実行コードではPerl理解するこのコードです。 perl -MO=Deparse script.pl. ここでは、出力:

my(%h) = ('undef', 'asdf');
print $h{'undef'};
script.pl syntax OK

誤使用の2

こちらは別の例をコードする意識のあり方を再考する undef がキーハッシュ. あんなところに看板が を使用していま undef,りんくうタウン駅と南海本線 'undef':

▶ Run
#!/usr/bin/perl

my $var = undef;

my %h = (
    $var => 'asdf',
);

print $h{$var};

のプログラムテキストが表示され asdf. すなわち、いいものを作りました の値のハッシュによるキ undef.

でも、私の値のキー '' (空文字列). Appendのこのプログラムライン use Data::Dumperwarn Dumper \%h;, 開始後、画面上と実際のようなハッシュ:

$VAR1 = {
          '' => 'asdf'
        };

変数 $varの 値が含まれてい undefが使用 $var => 'asdf', および $h{$var} undef は空の文字列 ''.

場合は追加のコード use strict; および use warnings; (はほとんどのことでしょう) の出力がされているが、これはPerlの警告この利用:

Use of uninitialized value $var in list assignment at script.pl line 8.
Use of uninitialized value $var in hash element at script.pl line 12.

概要

undef になることはできない価値の鍵つきのPerlのハッシュ. のキー Perlのハッシュをはずします。 (指定した空の文字列 '' できるものを尊重できる方が希望です。 の値のハッシュ可能で絶対に切の 問題がなけれ undef.

その他の記事