안녕하세요 저는 perl을 배우고 있으며 몇 가지 가정을 게시 할 예정입니다. 그러니 내가 어딘가에 틀렸다면 제게 의견을 말하고 바로 잡으십시오. 다음으로Perl - 익명 해시 맵 및 배열 - 몇 가지 질문
배열을 만들기%numbers = qw(one 1 two 2);
이 완료 : 해시를 만들기
에 의해 (여러 다른 방법들)을 완료
@array = qw(one two);
위 구조물은 "비 익명"유형을 나타냅니다 . 비 익명 및 익명 형식의 가장 큰 차이점은 명명 된 형식에는 참조 할 수있는 이름이 있다는 것입니다. 익명 형식을 만들고 싶다면 배열의 대괄호
[]
에 대해 괄호()
을 변경하거나 해시로 중괄호{}
을 변경해야합니다. 해시의 해시는 다른 해시에 대한 참조의 해시입니다. 따라서 중첩 해시에{}
을 사용해야하며 기본 해시가 아닌()
을 사용해야합니다.%HoH = ( flintstones => { husband => "fred", pal => "barney", }, jetsons => { husband => "george", wife => "jane", "his boy" => "elroy", # quotes needed on key. }, simpsons => { husband => "homer", wife => "marge", kid => "bart", }, );
다차원 배열에도 동일한 상황이 적용됩니다. 다차원 배열은 다른 배열에 대한 참조를 포함하는 배열이므로 []를 대신 사용해야합니다().
@array_of_arrays = ([ "one", "two", "three" ], [ 4, 5, 6, 7 ], [ "alpha", "beta" ] );
나는 각 가족 구성원을 포함하는 "비 익명"해시 한 경우 (flinstones, jetsons을, 심슨) 내가
%HOH
을 만드는 데 사용해야하는 건설?$HOH{flinstones} = {%flinstones};
또는
$HOH{flinstones} = \%flinstones;
내가
\%flinstones
단순히$HOH{flinstones}
에 대한 참조를 할당하는 것을 가정하고,이 내가%flinstones
에 무엇 이건 단순히 그것을 참조가 포함되어 있기 때문에$HOH{flinstones}
에 영향을 미치는 것을 의미합니다. 반면에{%flinstones}
은 "익명"해시에 대한 "익명"해시를 다시 캐스팅하는 것과 같습니다. 나중에%flinstones
을 수정하거나 삭제할 수 있으며 익명 해시에 대한 참조가 있으므로$HOH{flinstones}
에 영향을 미치지 않습니다.variable in loop는 어떻게됩니까? 루프 내에서
my $variable;
이 실행되면 이전의 변수를 덮어 쓰거나 새로운 변수를 작성하거나 동일한 변수입니까?for($i=0;$i<4;$i++){ my $variable=$i; print $variable }
질문 당 하나의 질문 만해야합니다. – TLP