Perl 배열 참조

Perl Baeyeol Chamjo



임의의 변수에 대해 참조변수가 생성될 때, 주변수의 값이 수정되면 참조변수의 값도 동시에 수정됩니다. '주' 변수와 '참조' 변수는 모두 메모리에서 동일한 위치를 공유하기 때문입니다. 스칼라 변수와 벡터 변수 모두의 참조 변수는 Perl에서 정의할 수 있습니다. 배열은 Perl의 벡터 변수 유형 중 하나입니다. Perl 배열의 참조 변수를 생성하고 사용하는 방법이 이 튜토리얼에 나와 있습니다.

배열 참조의 다양한 용도

다양한 목적으로 배열 참조 변수를 사용하는 방법은 다음과 같습니다.

배열변수 배열 참조 변수 목적
@정렬 @{ $ref_array } 모든 배열 값을 참조하는 데 사용됩니다.
스칼라 @배열 스칼라 @ref_array 총 배열 수를 계산하는 데 사용됩니다.
$#배열 $#ref_array 가장 큰 인덱스를 정의하는 데 사용됩니다.
$배열[인덱스] $tef_array->[색인] 배열의 특정 요소를 참조하는 데 사용됩니다.

Perl 배열 참조의 사용

Perl 배열 참조 변수의 다양한 용도가 튜토리얼의 이 부분에 나와 있습니다.







예 1: 배열 참조 생성

4개의 문자열 값 배열과 이 배열의 참조 변수를 선언하는 다음 스크립트를 사용하여 Perl 파일을 만듭니다. 참조 변수는 기본 배열의 메모리 위치를 저장하며 두 변수는 모두 동일한 위치를 공유합니다. 참조 변수와 기본 배열의 내용은 나중에 인쇄됩니다.



#!/usr/bin/perl

엄격한 사용 ;
사용 경고 ;
5.34.0 사용 ;
데이터::덤퍼 사용 ;

#문자열 배열 선언
나의 @ 낙오자 = ( '펄' , '자바' , '세게 때리다' , '파이썬' ) ;

#배열 변수의 참조 생성
내 $ref_array = \ @ 낙오자 ;

말하다 '배열 참조의 내용은 $ref_array입니다.' ;

말하다 'Dumber 변수를 사용하는 배열 값은 다음과 같습니다. ' ;
#Dumper 변수를 사용하여 참조 변수를 인쇄합니다.
인쇄 덤퍼 $ref_array ;

산출:



스크립트를 실행하면 다음 출력이 나타납니다.





  p1

예 2: 참조 생성 후 배열 업데이트

기본 배열의 요소가 변경되면 참조 배열 변수의 해당 값도 동시에 변경됨을 보여주는 다음 스크립트를 사용하여 Perl 파일을 만듭니다. 기본 배열의 모든 값은 배열의 값을 업데이트하기 전에 인쇄되고 참조 배열의 모든 값은 'dump' 변수를 사용하여 두 번째 요소를 업데이트한 후에 인쇄됩니다.



#!/usr/bin/perl

엄격한 사용 ;
사용 경고 ;
5.34.0 사용 ;
데이터::덤퍼 사용 ;

#문자열 배열 선언
나의 @ 낙오자 = ( '펄' , '자바' , '세게 때리다' , '파이썬' ) ;

말하다 '기본 배열 값은 다음과 같습니다: ' ;
#Dumper 변수를 사용하여 참조 변수를 인쇄합니다.
인쇄 덤퍼 \ @ 낙오자 ;

#배열 변수의 참조 생성
내 $ref_array = \ @ 낙오자 ;

#배열의 두 번째 요소 업데이트
$strarr [ 1 ] = 'C++' ;

말하다 '참조 배열 값(기본 배열 업데이트 후)은 다음과 같습니다.' ;
#Dumper 변수를 사용하여 참조 변수를 인쇄합니다.
인쇄 덤퍼 $ref_array ;

산출:

스크립트를 실행하면 다음 출력이 나타납니다. 출력에 따르면 기본 배열의 두 번째 요소가 'C++' 값으로 업데이트되므로 참조 배열의 두 번째 요소가 'C++'로 변경됩니다.

  p2

예 3: 배열 참조를 서브루틴에 전달

배열의 참조 변수가 서브루틴의 인수로 전송되는 다음 스크립트를 사용하여 Perl 파일을 만듭니다. 배열의 세 번째 인덱스 값은 서브루틴 내부의 참조 변수를 사용하여 업데이트됩니다. 기본 배열의 값은 'dump' 변수를 사용하여 참조 변수의 세 번째 인덱스를 업데이트하기 전후에 인쇄됩니다.

#!/usr/bin/perl

엄격한 사용 ;
사용 경고 ;
5.34.0 사용 ;
데이터::덤퍼 사용 ;

#숫자 배열 선언
나의 @ 숫자 = ( 67 , 3. 4 , 90 , 12 , 39 ) ;

말하다 '업데이트 전 기본 배열의 값:' ;
인쇄 덤퍼 \ @ 숫자 ;

#배열을 참조로 서브루틴에 전달합니다.
읽기_배열 ( \ @ 숫자 ) ;
#배열 값을 수정하는 서브루틴을 선언합니다.
하위 읽기_배열
{
#배열 참조 변수 정의
내 $arr_ref = $_ [ 0 ] ;
#배열의 세 번째 요소 업데이트
$arr_ref- > [ 2 ] = 99 ;
}
말하다 '업데이트 후 기본 배열의 값:' ;
인쇄 덤퍼 \ @ 숫자 ;

산출:

스크립트를 실행하면 다음 출력이 나타납니다. 배열의 세 번째 요소는 90이었고 이 값은 배열의 참조 변수를 사용하여 99로 변경되었습니다. 두 변수가 동일한 위치를 공유하므로 원래 배열의 세 번째 요소도 99로 업데이트됩니다.

  p3

결론

이 튜토리얼에서는 배열의 참조 변수를 생성하여 배열 값에 액세스하거나 업데이트하는 방법을 보여줍니다. Perl 사용자는 이 튜토리얼을 읽고 나면 Perl 배열의 참조 변수를 사용하는 것에 대한 명확한 개념을 얻게 될 것입니다.