해시 배열이 있습니다. 다른 키의 고유성을 기반으로 해시 키의 값 목록을 원합니다.지도 연산에서 반환 된 해시를 + 참조 해제하는 것을 피할 수 있습니까?
my @obs = ({
value => 'three',
id => 3
},{
value => 'one-2',
id => 1
},{
value => 'one',
id => 1
});
# This works, prints "one\nthree"
say for values %{{ map { $_->{id} => $_->{value} } @obs }};
은 내가 map
주위 참조 + 역 참조 비트를 피할 수 있습니까? 처음에는 그냥 직접 map
의 반환에 values
를 호출 시도하지만 펄이 그것을 필요가 없습니다 : 인수 1의
유형 값으로 스크립트 \의 workbench.pl 라인 55 (반복자를지도하지 않음) 해시를해야합니다, "@obs;"근처
데이비드 골든은 'values', 'each','keys' 등의 참조 작업에 대한 작업을하고 있다고 생각합니다. 그것은 5.13 (dev 릴리스)에 있고 5.14 (프로덕션 릴리스)에 있어야합니다. – mpeters
@mpeters, 연산자 과부하로 인한 모호함으로 인해 논쟁의 여지가 있으므로 5.14에서 일부 기능을 실험으로 표시 할 수 있습니다. – ikegami