پرل سرنی حوالہ

Prl Srny Hwal



جب کسی بھی متغیر کے لیے حوالہ متغیر بنایا جاتا ہے، اور اگر مرکزی متغیر کی قدر میں ترمیم کی جاتی ہے، تو حوالہ متغیر کی قدر میں ایک ہی وقت میں ترمیم کی جاتی ہے۔ کیونکہ دونوں 'مین' متغیر اور 'حوالہ' متغیر میموری میں ایک ہی جگہ کا اشتراک کرتے ہیں۔ اسکیلر متغیر اور ویکٹر متغیر دونوں کے حوالہ متغیر کو پرل میں بیان کیا جا سکتا ہے۔ پرل میں صف ایک قسم کا ویکٹر متغیر ہے۔ پرل سرنی کے حوالہ متغیر کو بنانے اور استعمال کرنے کے طریقے اس ٹیوٹوریل میں دکھائے گئے ہیں۔

ارے حوالہ کے مختلف استعمال

مختلف مقاصد کے لیے سرنی حوالہ متغیر کے استعمال کو درج ذیل میں دکھایا گیا ہے:

صف متغیر صف حوالہ متغیر مقصد
@array @{ $ref_array } یہ تمام صف کی اقدار کا حوالہ دینے کے لیے استعمال ہوتا ہے۔
اسکیلر @array اسکیلر @ref_array یہ صفوں کی کل تعداد شمار کرنے کے لیے استعمال ہوتا ہے۔
$# array $#ref_array یہ سب سے بڑے انڈیکس کی وضاحت کے لیے استعمال ہوتا ہے۔
$array[انڈیکس] $tef_array->[انڈیکس] یہ صف کے مخصوص عنصر کا حوالہ دینے کے لیے استعمال ہوتا ہے۔

پرل سرنی حوالہ جات کے استعمال

ٹیوٹوریل کے اس حصے میں پرل سرنی حوالہ متغیر کے مختلف استعمال دکھائے گئے ہیں۔







مثال 1: ایک صف حوالہ بنائیں

مندرجہ ذیل اسکرپٹ کے ساتھ ایک پرل فائل بنائیں جو چار سٹرنگ ویلیوز کی ایک صف اور اس صف کے حوالہ متغیر کا اعلان کرے۔ حوالہ متغیر مرکزی صف کے میموری مقام کو اسٹور کرتا ہے اور دونوں متغیرات ایک ہی جگہ کا اشتراک کرتے ہیں۔ حوالہ متغیر اور مرکزی صف کا مواد بعد میں پرنٹ کیا جاتا ہے۔



#!/usr/bin/perl

سختی سے استعمال کریں ;
استعمال کریں انتباہات ;
5.34.0 استعمال کریں۔ ;
ڈیٹا::ڈمپر استعمال کریں۔ ;

# تار کی ایک صف کا اعلان کریں۔
میرا @ لڑکھڑانے والا = ( 'پرل' , 'جاوا' , 'باش' , 'Python' ) ;

# سرنی متغیر کا حوالہ بنائیں
میرا $ref_array = \ @ لڑکھڑانے والا ;

کہنا 'سرنی حوالہ کا مواد ہے $ref_array' ;

کہنا 'Dumber متغیر کا استعمال کرتے ہوئے صف کی قدریں ہیں:' ;
# ڈمپر متغیر کے ساتھ حوالہ متغیر کو پرنٹ کریں۔
پرنٹ کریں ڈمپر $ref_array ;

آؤٹ پٹ:



اسکرپٹ پر عمل کرتے وقت درج ذیل آؤٹ پٹ ظاہر ہوتا ہے:





  p1

مثال 2: حوالہ بنانے کے بعد صف کو اپ ڈیٹ کریں۔

مندرجہ ذیل اسکرپٹ کے ساتھ ایک پرل فائل بنائیں جس سے پتہ چلتا ہے کہ اگر مین ارے کے کسی بھی عنصر کو تبدیل کیا جاتا ہے تو، حوالہ سرنی متغیر کی متعلقہ قدر کو ایک ہی وقت میں تبدیل کر دیا جاتا ہے. سرنی کی کسی بھی قدر کو اپ ڈیٹ کرنے سے پہلے مین ارے کی تمام اقدار پرنٹ کی جاتی ہیں اور 'ڈمپ' متغیر کا استعمال کرتے ہوئے دوسرے عنصر کو اپ ڈیٹ کرنے کے بعد حوالہ کی صف کی تمام اقدار پرنٹ کی جاتی ہیں۔



#!/usr/bin/perl

سختی سے استعمال کریں ;
استعمال کریں انتباہات ;
5.34.0 استعمال کریں۔ ;
ڈیٹا::ڈمپر استعمال کریں۔ ;

# تار کی ایک صف کا اعلان کریں۔
میرا @ لڑکھڑانے والا = ( 'پرل' , 'جاوا' , 'باش' , 'Python' ) ;

کہنا 'اہم صف کی قدریں ہیں:' ;
# ڈمپر متغیر کے ساتھ حوالہ متغیر کو پرنٹ کریں۔
پرنٹ کریں ڈمپر \ @ لڑکھڑانے والا ;

# سرنی متغیر کا حوالہ بنائیں
میرا $ref_array = \ @ لڑکھڑانے والا ;

# صف کے دوسرے عنصر کو اپ ڈیٹ کریں۔
$strarr [ 1 ] = 'C++' ;

کہنا 'ریفرنس ارے کی قدریں (مین سرنی کو اپ ڈیٹ کرنے کے بعد) ہیں: ' ;
# ڈمپر متغیر کے ساتھ حوالہ متغیر کو پرنٹ کریں۔
پرنٹ کریں ڈمپر $ref_array ;

آؤٹ پٹ:

اسکرپٹ پر عمل کرنے کے بعد درج ذیل آؤٹ پٹ ظاہر ہوتا ہے۔ آؤٹ پٹ کے مطابق، دوسرے عنصر کو حوالہ صف میں 'C++' میں تبدیل کر دیا گیا ہے کیونکہ مین اری کے دوسرے عنصر کو 'C++' ویلیو کے ذریعے اپ ڈیٹ کیا جاتا ہے:

  p2

مثال 3: ارے ریفرنس کو سب روٹین میں منتقل کریں۔

مندرجہ ذیل اسکرپٹ کے ساتھ ایک پرل فائل بنائیں جہاں سرنی کا حوالہ متغیر سب روٹین کی دلیل کے طور پر بھیجا جاتا ہے۔ صف کے تیسرے انڈیکس کی قدر کو سب روٹین کے اندر حوالہ متغیر کا استعمال کرتے ہوئے اپ ڈیٹ کیا جاتا ہے۔ 'ڈمپ' متغیر کا استعمال کرتے ہوئے حوالہ متغیر کے تیسرے انڈیکس کو اپ ڈیٹ کرنے سے پہلے اور بعد میں مرکزی صف کی قدریں پرنٹ کی جاتی ہیں۔

#!/usr/bin/perl

سختی سے استعمال کریں ;
استعمال کریں انتباہات ;
5.34.0 استعمال کریں۔ ;
ڈیٹا::ڈمپر استعمال کریں۔ ;

نمبروں کی ایک صف کا اعلان کریں۔
میرا @ نمبرز = ( 67 , 3. 4 , 90 , 12 , 39 ) ;

کہنا 'اپ ڈیٹ سے پہلے مرکزی صف کی قدریں:' ;
پرنٹ کریں ڈمپر \ @ نمبرز ;

#سب روٹین میں حوالہ کے طور پر صف کو پاس کریں۔
read_array ( \ @ نمبرز ) ;
# صف کی قدر میں ترمیم کرنے کے لیے سب روٹین کا اعلان کریں۔
ذیلی ریڈ_ارے
{
# سرنی حوالہ متغیر کی وضاحت کریں۔
میرا $arr_ref = $_ [ 0 ] ;
# صف کے تیسرے عنصر کو اپ ڈیٹ کریں۔
$arr_ref- > [ 2 ] = 99 ;
}
کہنا 'اپ ڈیٹ کے بعد مرکزی صف کی قدریں:' ;
پرنٹ کریں ڈمپر \ @ نمبرز ;

آؤٹ پٹ:

اسکرپٹ پر عمل کرنے کے بعد درج ذیل آؤٹ پٹ ظاہر ہوتا ہے۔ صف کا تیسرا عنصر 90 تھا اور اس قدر کو صف کے حوالہ متغیر کا استعمال کرتے ہوئے 99 میں تبدیل کر دیا گیا ہے۔ اصل صف کا تیسرا عنصر بھی 99 سے اپ ڈیٹ ہوتا ہے کیونکہ دونوں متغیرات ایک ہی جگہ کا اشتراک کرتے ہیں:

  p3

نتیجہ

اس ٹیوٹوریل میں ارے کا حوالہ متغیر بنا کر سرنی کی اقدار تک رسائی یا اپ ڈیٹ کرنے کے طریقے دکھائے گئے ہیں۔ اس ٹیوٹوریل کو پڑھنے کے بعد پرل صارفین کو پرل سرنی کے حوالہ جات کے استعمال کا واضح تصور ملے گا۔