2012-10-09 4 views
3

해시 또는 배열 기준이 될 수있는 데이터 구조이며, I는 다음과 같다 일부 코드를 내 5.14.2 버전에서 작동하는 대신 쓰기 위해 저주받은 해시 또는 배열)에 대한 참조를 받아 들일 :

for (values $struct) { 
    # process $_ 
    ... 
} 

그래서 더 예뻐를!

values에 대한 설명서에 따르면이 기능은 "매우 실험적"이라고합니다. 현재까지 여러 릴리스가있었습니다 (5.12에서 5.16.0까지 알려줄 수 있음). 상태가 무엇인지 아는 사람 있습니까? 실험은 어떻게 진행되고 있습니까?

답변

4

논란의 여지가있는 변화이므로 실험적으로 표시되었습니다. * 해시 함수에 대한 모든 참조에서 작동하지 않기 때문에 논란의 여지가 있습니다. *이 기능이 도입 된 이후로 새로운 것은 발견되지 않았지만 아무도 새로운 문제가 발견 될 것으로 기대하지는 않습니다. values(%$hash)이 성공할 경우


* — values($hash)

이 실패 할 수 있습니다. 원래 코드에는 똑같은 문제가 있으므로이 "제한 사항"이 values 인 것은 문제가되지 않습니다.

+0

'% $ hash'를 사용했기 때문에 원본 코드가 어떻게 실패 할 수 있는지 이해할 수 없습니다. 더 설명 할 수 있습니까? 또한 내가 궁금해하는 점은 누군가가 되돌아 갈 지경에 대한 변화가 영구적 인 것으로 간주되는지 또는 영원히 "실험적"이 될 것인지를 아는 것입니다. –

+1

축복받은 해시에 실패합니다. 오버로딩을 통해 해시 인터페이스를 제공하는 객체에 대해 실패합니다. – ikegami

+0

아니요, 아무도 모릅니다. – ikegami