Perl에서 2 차원 배열을 만들 수 있습니다. 해시의 2 차원 어레이와 다른 점은 무엇입니까? 배열을 사용하여 해시 피쳐를 시뮬레이션 할 수있는 경우 왜 해시가 펄의 원시 데이터 구조입니까?Perl의 배열과 다른 점은 무엇입니까?
1
A
답변
0
많은 유형의 객체를 구성 할 때 new
메서드는 해시로 나타날 수있는 인수 목록을 전달할 수 있지만 실제로는 모든 짝수가 키이고 모든 홀수가 가치.
my $obj = Some::New::Class->new(
name => 'Sam',
age => 0,
email => '[email protected]'
);
이
은 상당 할 수있는 : 당신은, 그러나, 지시 할 수 있습니다my $obj = Some::New::Class->new(
'name', 'Sam',
'age', 0,
'email', '[email protected]'
);
새로운() 이상과 같이 나타납니다 해시, 찾으려면이 만약
my $obj = Some::New::Class->new({
name => 'Sam',
age => 0,
email => '[email protected]'
});
귀하의 질문에 대답하지 않습니다, 나는 적어도 일부 통찰력을 제공 바랍니다.
+0
해시가 아닌 마지막 참조에서 해시에 * 참조를 전달합니다. 따라서 참조를 취소 할 코드는 new() 구현시 달라집니다. (당신은 아마 그것을 알았지 만, 명확히하기 위해서입니다.) – AAT
6
아마 당신은이 같은 데이터 구조를 가질 수 있음을 의미 : 작은 데이터에 대한
my $array_hash = [
[ "key1", "value1" ],
[ "key2", "value2" ],
];
이 잘 작동하지만, 이러한 배열은 약 1000 항목이있는 경우를 고려한다. 그런 다음 해당 키로 특정 항목을 찾으려면 전체 배열을 검색해야하는데 이는 느립니다.
원시 해시 유형은 빠른 검색을 허용하며 정확히 사용됩니다.
해시 테이블이 Perl에 내장 된 또 다른 이유는 유용한 데이터 구조이므로 모든 프로그래머가 자신을 구현해야하는 것은 아닙니다.
관련 문제
- 1. Android JVM의 다른 점은 무엇입니까?
- 2. 유창한 API가 다른 API와 다른 점은 무엇입니까?
- 3. SQLite에서 UDF와 저장된 쿼리가 다른 점은 무엇입니까?
- 4. 변수 유형 정의와 다른 점은 무엇입니까?
- 5. Windows에서 CMake 명령 configure_file과 다른 점은 무엇입니까?
- 6. foreach와 list.ForEach() 사이의 클로저가 다른 점은 무엇입니까?
- 7. Drupal이 Joomla보다 SEO면에서 다른 점은 무엇입니까?
- 8. Dispatcher가 백그라운드 스레드와 다른 점은 무엇입니까?
- 9. 구조체를 포인터로 intializating하는 것과 다른 점은 무엇입니까?
- 10. Janrain과 OAuth를 사용하는 것과 다른 점은 무엇입니까?
- 11. Arduino 프로그래밍이 표준 C와 다른 점은 무엇입니까?
- 12. Sharepoint에서 스킬 빌드가 ASP.NET과 다른 점은 무엇입니까?
- 13. Zircon Zircomp와 ZeroC Ice와는 다른 점은 무엇입니까?
- 14. 비즈니스 아키텍처 : 개념 아키텍처와 다른 점은 무엇입니까?
- 15. 이 변수 할당의 다른 점은 무엇입니까?
- 16. 배열과 개체의 차이점은 무엇입니까?
- 17. 다른 배열과 관련된 배열 정렬
- 18. XHTML과 호환되는 점은 무엇입니까?
- 19. ADO.NET Entity Framework가 다른 ORM과 다른 점은 무엇입니까?
- 20. 예외를 던지는 점은 무엇입니까?
- 21. 점은
- 22. Perl의 파일 열기 방법
- 23. HashMap.containsValue - 중요한 점은 무엇입니까?
- 24. jQuery의 멋진 점은 무엇입니까?
- 25. ASP.NET 진입 점은 무엇입니까?
- 26. 목표 -c에서이 점은 무엇입니까
- 27. AIDL - 중요한 점은 무엇입니까?
- 28. Indexhibit의 특별한 점은 무엇입니까?
- 29. JADE의 흥미로운 점은 무엇입니까?
- 30. 점은,
2 차원 배열이 없습니다. 배열 배열이 있습니다. – Toto
PDL에는 2D 배열이 있지만 OP의 의미는 아닙니다. –
해시를 사용하여 배열을 시뮬레이션 할 수도 있지만, 배열이 기본 데이터 유형이 아닌 경우 더 나은 결과를 얻지는 못합니다. – mob