perl 언어 입문 (5)
1. 해시
하 쉬 는 데이터 구조 로 많은 값 을 수용 하고 무 작위 로 액세스 할 수 있 습 니 다. 많은 키 쌍 입 니 다. 키 는 문자열 이 고 유일한 것 이지 만 키 는 여러 값 (값 은 중복 가능) 에 대응 할 수 있 습 니 다. 키 와 값 은 모두 임의의 스칼라 입 니 다.
값 은 숫자, 문자열, undef 일 수 있 습 니 다.
2. hash 요소 에 접근
전체 해시 방문
- $family_name{"fred"}
맞다.hash 할당 은 목록 할당 의 컨 텍스트 를 가 져 옵 니 다. 목록 의 요 소 는 키 쌍 이 어야 합 니 다.
3 가지 할당 방법:
%family_name = ("foo",35,"bar",12.4); %family_name = qw/foo 35 bar 12.4/; %family_name = 뚱뚱 한 화살표 사용 하기;
# 숫자 와 문자열 은 필요 에 따라 자동 으로 변 환 됩 니 다.
- %family_name
hash 반전, 여러 값 이 있 으 면 뒤의 키 가 앞 에 있 는 것 을 덮어 씁 니 다.
%new_hash = reverse %old_hash;
해시 풀 림 (목록 상하 문)
@any_array = %family_name;
풀 어 진 후 출력 이 반드시 당초 할당 한 순서 가 아니 라 는 뜻 입 니 다. 단, 키 대응 값 은 고정 되 어 있 습 니 다.
-
%new_hash = %old_hash;
4. 해시 함수
반환 키 목록
keys %hash
반환 값 목록
values %hash
리 턴 키 의 개수
my $counts = keys %hash;
print scalar(keys %hash);
반환 가치 개수
my $counts = values %hash;
불 판단
if(%hash)
# hash 가 비어 있 지 않 으 면 진짜 로 돌아 갑 니 다.
5. each 함수
매번 한 그룹의 키 값 을 되 돌려 줍 니 다.
- hash
- my %family_name = (
- "foo" => 35,
- "bar" => 12.4,
- );
\ # 빈 목록 으로 돌아 갈 때 까지 반복 종료
\ # 키 가 여러 값 에 대응 할 때 어떻게 되 는 지 모 르 겠 습 니 다.
어떤 키 가 존재 하 는 지 확인 합 니 다.
- while (($key,$value)= each %hash) {
- print "$key => $value
";
- }
# 진짜 키 diao 로 돌아 가기
지정 한 키 와 값 삭제
- if (exists $hash{"diao"})
\ # 키 가 존재 하지 않 으 면 바로 끝 납 니 다. 힌트 를 주지 않 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
【좌절하기 전에】Ruby 배열 오브젝트와 해시 오브젝트의 이미지이 기사에서는 배열 객체와 해시 객체의 차이점은 무엇입니까? 라는 방향으로 해설해 가고 싶습니다. 배열 객체와 해시 객체의 차이를 잘 알지 못하는 사람 배열 객체와 해시 객체의 이미지를 잡을 수없는 사람 우선 해시 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.