는 방법을 찾기 위해 쌍의 수에 있는 요소의 펄 해시

작업입니다. 프로그램에서 프로그래밍 언어,Perl 로는 해시입니다. 당신이는 방법을 알아낼 필요가 많은 쌍 값이다.

예를 들어,이 해시 필요를 설정 1:

my %h = (
    a => 'AAA',
);

와 같은 해시,당신은 값을 얻을 필요 3:

my %h = (
    a => 'AAA',
    b => 'BBB',
    c => 'CCC',
);

결정

표준 솔루션을 이 문제는 먼저의 모든 열쇠는 해시 사용하여 keys,다음 의 수를 계산하여 키를 사용하여 클라이언트. 여기에는 이 스크립트에서 전체:

▶ Run
#!/usr/bin/perl

my %h = (
    a => 'AAA',
    b => 'BBB',
);

my $number = scalar keys %h;

print $number;

스크립트가 표시됩니다 수 2. scalar keys %h 과 같 scalar(keys(%h)).

이 솔루션의 모든 버전에서 작동 Perl. 종종 이러한 결정이 최고입니다.

의사 결정에서의 새로운 버전 Perl

Perl5.26 쌍의 수에 있는 값의 해시 얻을 수있다 사용하여 간단하게 scalar %h.

이 결과 사이의 일관성을 얻는 방법 숫자 배열의 요소 scalar @arr 그리고 쌍의 수의 값은 해쉬 scalar %h. 그것은 이 동작을 만들어지지 않았습니다.

당신이 사용하는 경우 scalar %h 펄에서 이전보다 5.26,이 연산의 결과는 이상한 일부 종 1/8. (무엇인지에 대한 설명이 일부 의미). 이 때문에 더 많은 신뢰할 수 있는 옵션을 찾기 위해 쌍의 수에 해시는 여전히는 옵션 scalar keys %h.

관련 주제

다른 기사