나는 기본적인 것으로 보이는 질문이 있지만 알아낼 수는 없습니다. Perl에서 해시 참조가 있다고 가정 해 보겠습니다. 일련의 키를 통해 값 배열을 가져 오려고합니다. 여기Perl : 해시 참조로 키 배열에 액세스
이 해시 작업을 줄 방법이 아닌 해시 참조 :
my %testHash = ("a" => 1, "b" => 2, "c" => 3);
my @testKeys = ("a", "b", "c");
my @testValues = @testHash{@testKeys};
가 지금은 해시 참조가 가정
my $hashRef = {"a" => 1, "b" => 2, "c" => 3};
나는 다음과 같은 두 가지 방법을 시도했다 :
my @values = @{$hashRef->{@testKeys}};
my @values = $hashRef->{@testKeys};
하지만 어느 쪽도 맞지 않습니다. 올바른 방법이 있습니까? 아니면 해시를 참조 할 때마다 참조를 역 참조해야합니까?
같이하는 선의의 블록을 둘러싸,'@의 $의 hashref는 {@testKeys은}'도 작동합니다. 나는 {{}'중괄호를 더 명시 적으로 선호 했었지만 지금은 덜 시끄러운 변종을 선호합니다. – ephemient
@ephemient 답변을 제공해 주셔서 감사합니다. –
아, 나는 화살표가 단지 편리한 속기라는 이해가 부족함에 갇혔다 고 생각합니다. –