펄 전문가를위한 쉬운 ...펄 해시 문제
단순히의 주요 섹션에서 각 항목을 횟수를 항목 (실제로 여러 배열)의 배열로 받아 계산 기능을 원하는 해시가있다. 그러나 Perl 해시를 확실히 알지 못합니다.
my %hash = (
'banana' => 0,
'orange' => 0,
'apple' => 0
#I intentionally left out pear... I only want the values in the array...
);
그러나, 나는 그 통해 갈 수있는 일을하고 해당과 값에 1을 추가하는 루프를 받고 고군분투 :
@array = qw/banana apple orange apple orange apple pear/
난 당신이 같은 코드를 사용하여 배열을 할 필요가 읽어 보시기 바랍니다 키는 배열의 각 항목에 대한 배열의 값과 같습니다.
foreach $fruit (@array) {
if ($_ #is equal to a key in the hash) {
#Add one to the corresponding value
}
}
이 몇 가지 기본적인 기능을 모두 시작 펄 프로그래머를 대신하여, 사전에 감사합니다, 그래서 모든 일에 싸서있다!
해시 요소가 있는지 여부를 확인할 필요가 없습니다. 게다가, 시작으로 요소의 * none *이 존재하기 때문에 프로그램은 결코 해시를 수정하지 않습니다. – Borodin
제 잘못입니다. 나는 그가 정의한 해시의 값을 증가시키고 싶다는 인상하에 있었다. – Nate
아, 알겠습니다. 나는 생각한다. 당신은 해쉬에 정의 된 바와 같이, OP가 카운트 된 단어의 서브 세트만을 원한다고 가정하고 있었습니까? 이 경우 코드가 정상입니다. – Borodin