얼마나 많은 품목에서는 Perl 배열

작업입니다. 코드에서 이 Perl 프로그램의 배열을 가지고 있습니다 @arr (첫 번째 세 글자를 말씀에서"array"). 이 배열의 일부는 값입니다. 는 방법을 알고 있어야에서 많은 것이 들어 있는 배열 요소입니다.

거기에 여러 가지 방법으로 이 문제를 해결합니다.

듈은 컨텍스트

사용하는 경우에는 배열 스칼라 맥락에서,이 값을 수가 배열의 요소:

my $number_of_elements = scalar(@arr);

예제 프로그램:

▶ Run
#!/usr/bin/perl

my @arr = ('one', 'two', 'three');

print scalar(@arr);

프로그램 번호가 표시됩니다 3.

스칼라의 컨텍스트를 얻을 수 있지만 사용하여 scalar()하지만,일부의 도움으로 연산하는 변하지 않는 번호,예를 들면,추가하기/빼기로 또는 곱/나누기 단위:

my $number1 = @arr + 0;
my $number2 = @arr - 0;
my $number3 = @arr * 1;
my $number4 = @arr / 1;

변수를 사용으로 인덱스의 마지막 요소

또 다른 방법을 찾을 배열의 길이가 사용하는 변수와 관련된 배열을 포함하는 수의 마지막 요소입니다. 을 경우 배열이라고 @arr,등의 변수가 될 것이라고 $#arr. 에서 첫 번째 요소는 Perl 배열 숫자 0,래의 수를 얻을하는 데 필요한 항목을 추가 이 변수는 1 입니다.

my $number_of_elements = $#arr + 1;

어떻게 계산하는 다른 요소와 undef

그것이 중요하지 않습 값에 포함된 배열입니다. 이 있을 수 있는 간단한 문자열 숫자와 복잡한 구조물입니다.

을 경우 배열의 값을 포함 undef,다음 그들도 있습니다. 다음 예제는 배열을 포함하는 4 개의 요소:

my @arr = (1, undef, 3, undef);

의 길을 잘못 계산을 사용하는 것입 length()

여기에 샘플 프로그램입니다. 프로그램 번호가 표시됩 1 고 잘못 가정 length() 에 적용되는 배열 요소의 수를 반환합니다.

▶ Run
#!/usr/bin/perl

my @arr = ('one');

print length(@arr);

그러나 이것은 잘못된 가정이다. 기 위해서는 이를 확인하려면 체크할 수 있는 배열에 대한 my @arr = ('one', 'two', 'three') length()반환됩니다 1.

length() 에 적용되는 배열 요소의 수를 반환하고의 숫자의 번호에서 숫자의 요소입니다. 는 경우에는 배열을 포함 9 일 또는 몇몇의 항목,다음 length(@arr) 를 반환하는 경우 1 편을 포함한 10 99 요소, length(@arr) 이익 2 니다.

관련 주제

다른 기사