Tham chiếu mảng Perl

Tham Chieu Mang Perl



Khi biến tham chiếu được tạo cho bất kỳ biến nào và nếu giá trị của biến chính được sửa đổi thì giá trị của biến tham chiếu cũng được sửa đổi cùng lúc. Bởi vì cả biến “chính” và biến “tham chiếu” đều có chung một vị trí trong bộ nhớ. Biến tham chiếu của cả biến vô hướng và biến vectơ có thể được định nghĩa trong Perl. Mảng là một loại biến vectơ trong Perl. Các phương pháp tạo và sử dụng biến tham chiếu của mảng Perl được trình bày trong hướng dẫn này.

Các cách sử dụng khác nhau của tham chiếu mảng

Việc sử dụng các biến tham chiếu mảng cho các mục đích khác nhau được thể hiện như sau:

Biến mảng Biến tham chiếu mảng Mục đích
@mảng @{ $ref_array } Nó được sử dụng để tham chiếu đến tất cả các giá trị mảng.
vô hướng @array vô hướng @ref_array Nó được sử dụng để đếm tổng số mảng.
$#mảng $#ref_array Nó được sử dụng để xác định chỉ số lớn nhất.
$mảng[chỉ mục] $tef_array->[chỉ mục] Nó được sử dụng để chỉ phần tử cụ thể của mảng.

Công dụng của tài liệu tham khảo mảng Perl

Các cách sử dụng khác nhau của các biến tham chiếu mảng Perl được trình bày trong phần hướng dẫn này.







Ví dụ 1: Tạo tham chiếu mảng

Tạo một tệp Perl với đoạn script sau khai báo một mảng gồm bốn giá trị chuỗi và biến tham chiếu của mảng này. Biến tham chiếu lưu trữ vị trí bộ nhớ của mảng chính và cả hai biến đều có chung vị trí. Nội dung của biến tham chiếu và mảng chính được in sau.



#!/usr/bin/Perl

Sử dụng nghiêm ngặt ;
sử dụng cảnh báo ;
sử dụng 5.34.0 ;
sử dụng Dữ liệu::Dumper ;

#Khai báo một mảng chuỗi
Của tôi @ người lạc lõng = ( 'Perl' , 'Java' , 'Bash' , 'Trăn' ) ;

#Tạo tham chiếu của biến mảng
$ref_array của tôi = \ @ người lạc lõng ;

nói 'Nội dung của tham chiếu mảng là $ref_array' ;

nói 'Các giá trị mảng sử dụng biến Dumber là: ' ;
#In biến tham chiếu bằng biến Dumper
in Trình kết xuất $ref_array ;

Đầu ra:



Đầu ra sau xuất hiện khi thực thi tập lệnh:





  p1

Ví dụ 2: Cập nhật mảng sau khi tạo tham chiếu

Tạo một tệp Perl với đoạn script sau cho thấy rằng nếu bất kỳ phần tử nào của mảng chính bị thay đổi thì giá trị tương ứng của biến mảng tham chiếu cũng được thay đổi cùng lúc. Tất cả các giá trị của mảng chính được in trước khi cập nhật bất kỳ giá trị nào của mảng và tất cả các giá trị của mảng tham chiếu được in sau khi cập nhật phần tử thứ hai bằng biến “kết xuất”.



#!/usr/bin/perl

Sử dụng nghiêm ngặt ;
sử dụng cảnh báo ;
sử dụng 5.34.0 ;
sử dụng Dữ liệu::Dumper ;

#Khai báo một mảng chuỗi
Của tôi @ người lạc lõng = ( 'Perl' , 'Java' , 'Bash' , 'Trăn' ) ;

nói 'Các giá trị mảng chính là:' ;
#In biến tham chiếu bằng biến Dumper
in Máy xúc lật \ @ người lạc lõng ;

#Tạo tham chiếu của biến mảng
$ref_array của tôi = \ @ người lạc lõng ;

#Cập nhật phần tử thứ 2 của mảng
$strar [ 1 ] = 'C++' ;

nói 'Các giá trị của mảng tham chiếu (sau khi cập nhật mảng chính) là: ' ;
#In biến tham chiếu bằng biến Dumper
in Trình kết xuất $ref_array ;

Đầu ra:

Đầu ra sau xuất hiện sau khi thực thi tập lệnh. Theo kết quả đầu ra, phần tử thứ hai được thay đổi thành “C++” trong mảng tham chiếu vì phần tử thứ hai của mảng chính được cập nhật bởi giá trị “C++”:

  p2

Ví dụ 3: Truyền tham chiếu mảng vào chương trình con

Tạo một tệp Perl với tập lệnh sau trong đó biến tham chiếu của mảng được gửi làm đối số của chương trình con. Giá trị của chỉ mục thứ ba của mảng được cập nhật bằng biến tham chiếu bên trong chương trình con. Các giá trị của mảng chính được in trước và sau khi cập nhật chỉ mục thứ ba của biến tham chiếu bằng biến “dump”.

#!/usr/bin/perl

Sử dụng nghiêm ngặt ;
sử dụng cảnh báo ;
sử dụng 5.34.0 ;
sử dụng Dữ liệu::Dumper ;

#Khai báo một mảng số
Của tôi @ con số = ( 67 , 3. 4 , 90 , 12 , 39 ) ;

nói 'Các giá trị của mảng chính trước khi cập nhật:' ;
in Máy xúc lật \ @ con số ;

#Truyền mảng làm tham chiếu vào chương trình con
đọc_mảng ( \ @ con số ) ;
#Khai báo chương trình con để sửa đổi giá trị mảng
mảng đọc phụ
{
#Xác định biến tham chiếu mảng
$arr_ref của tôi = $_ [ 0 ] ;
#Cập nhật phần tử thứ ba của mảng
$arr_ref- > [ 2 ] = 99 ;
}
nói 'Các giá trị của mảng chính sau khi cập nhật:' ;
in Máy xúc lật \ @ con số ;

Đầu ra:

Đầu ra sau xuất hiện sau khi thực thi tập lệnh. Phần tử thứ ba của mảng là 90 và giá trị này được thay đổi thành 99 bằng cách sử dụng biến tham chiếu của mảng. Phần tử thứ ba của mảng ban đầu cũng được cập nhật thêm 99 vì cả hai biến đều có cùng một vị trí:

  p3

Phần kết luận

Các phương pháp truy cập hoặc cập nhật các giá trị mảng bằng cách tạo biến tham chiếu của mảng được trình bày trong hướng dẫn này. Người dùng Perl sẽ có khái niệm rõ ràng về cách sử dụng các biến tham chiếu của mảng Perl sau khi đọc hướng dẫn này.