2013년 9월 9일 월요일

Perl 제대로 배우기 - 5장 (Hash)

5. Hash

해시란?
해시변수 이란 %(퍼센트기호)
**정의 되지 않은 때는 undef을 리턴한다.
%somehash = (
key#1, value#1,
);
or
%somehash = qw(
key#1,value#1
key#2,value#2
);
해시리터럴 표현
@fred_list = %fred;
# @fred_list는 (“aaa”,”bbb”,”234.5”,456.7)를 갖는다.

%backwards = reverse %normal; #키와 값이 교환된 해시를 만들 수 있음.
** 중복된 키가 있을 수 없음.

해시함수
  1. keys 함수 :: 현재 키 리스트를 리턴함. 없으면 공백 리스트를 리턴
    • -- 스칼라 값일때는 keys : 수를 리턴 :: while (keys(%somehash) < 10) { # 갯수가 10 미만 일때
    • -- %somehash를 사용해도 비어 있는 여부를 판단 할 수 있다. :: if(%somehash) { # IsEmpty
  2. values 함수 :: keys의 리턴키와 동일한 순서로 현재 값 리스트를 리턴 (없으면 공백리스트)
  3. each 함수 :: key-value 쌍 리스트의 리스트를 리턴 한다.
  4. delete 함수 :: 요소를 삭제 함.
해시 슬라이스
($score{“fred”},$score{“barney”},$score{“dino”})=(205,195,30);
@score{“fred”,“barney”,“dino”} = (205,195,30);
%league{keys %score} = values %score; ::
%league = (%league,%score); :: %score와 %league와 합침

댓글 없음: