2
私は現在、参照されたハッシュとそのハッシュに含まれるキーの配列を持っています。キーの配列に対応する値の配列を取得したいです。私は複数行でこれを行う方法を知って参照されたハッシュとperlのキー配列から値の配列を効率的に取得する方法は?
:
# Getting hash reference and array of keys.
my $hashRef = {
one => 'foo',
two => 'bar',
three => 'baz'
};
my @keys = ('one', 'three');
# Getting corresponding array of values.
my @values;
foreach my $key (@keys) {
push @values, $hashRef->{$key};
}
はしかし、私は、ループを使用しません。もっと良い方法がなければならないと考えています。しかし、残念ながら私はそれを理解できません。どのようにして効率的に が、参照されたハッシュとキーの配列から値の配列を取得できますか?可能であれば理想的には1行で?いくつかの追加機能を有効にすることでPerlの上
my @values = $hashRef->@{@keys};
または、5.20+:
これは同じですか? @($ hashRef - > {@ keys}} –
ああ、わかりましたが、これは今でも同等です:@ {$ hashRef} {@ keys} –
うん。あなたはそれを持っています。 – mwp