Latest web development tutorials

تجزئات بيرل

التجزئة هي أزواجمفتاح / قيمة.

المتغيرات التجزئة بيرل تبدأ مع علامة النسبة المئوية (٪) علامات.

تنسيق Access عنصر التجزئة:$ {الرئيسية}.

ما يلي هو المثال التجزئة بسيط:

#!/usr/bin/perl

%data = ('google', 'google.com', 'w3big', 'w3big.com', 'taobao', 'taobao.com');

print "\$data{'google'} = $data{'google'}\n";
print "\$data{'w3big'} = $data{'w3big'}\n";
print "\$data{'taobao'} = $data{'taobao'}\n";

البرنامج المذكور أعلاه، والناتج هو:


خلق تجزئة

يمكنك إنشاء تجزئة من الطريقتين التاليتين:

أولا، تعيين قيمة كل مفتاح

$data{'google'} = 'google.com';
$data{'w3big'} = 'w3big.com';
$data{'taobao'} = 'taobao.com';

ثانيا، من خلال قائمة مجموعة

العنصر الأول في قائمة مفتاح، والثاني هو القيمة.

%data = ('google', 'google.com', 'w3big', 'w3big.com', 'taobao', 'taobao.com');

يمكنك أيضا استخدام=> رمز لتعيين مفتاح / قيمة:

%data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com');

الأمثلة التالية هي المتغيرات من الأمثلة أعلاه، استخدم- بدلا من علامات الاقتباس:

%data = (-google=>'google.com', -w3big=>'w3big.com', -taobao=>'taobao.com');

باستخدام هذا المفتاح الوضع لا يمكن أن يكون مسافات، قراءة طريقة العنصر:

$val = %data{-google}
$val = %data{-w3big}

عنصر التجزئة وصول

شكل عنصر تجزئة الوصول:$ {مفتاح}، والأمثلة على النحو التالي:

#!/usr/bin/perl

%data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com');

print "\$data{'google'} = $data{'google'}\n";
print "\$data{'w3big'} = $data{'w3big'}\n";
print "\$data{'taobao'} = $data{'taobao'}\n";

البرنامج المذكور أعلاه، والناتج هو:


قراءة قيمة التجزئة

يمكنك ترغب مجموعة استخراج قيمة من تجزئة.

قيمة التجزئة استخراجبناء الجملة مجموعة: @ {key1، key2}.

#!/uer/bin/perl


%data = (-taobao => 45, -google => 30, -w3big => 40);

@array = @data{-taobao, -w3big};

print "Array : @array\n";

البرنامج المذكور أعلاه، والناتج هو:

Array : 45 40

يقرأ على مفتاح الشباك وقيمة

قراءة كل مفتاح

يمكننا استخداممفاتيح الوظائف لقراءة جميع مفاتيح التجزئة، بناء الجملة كما يلي:

keys %HASH

هذه الدالة تقوم بإرجاع مجموعة من كل التجزئة الأساسية للجميع.

#!/usr/bin/perl 

%data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com');

@names = keys %data;

print "$names[0]\n";
print "$names[1]\n";
print "$names[2]\n";

البرنامج المذكور أعلاه، والناتج هو:

taobao
google
w3big

ما يمكنني استخدام وظيفة مماثلة لقراءة كلالقيم من قيم التجزئة، بناء الجملة كما يلي:

values %HASH

هذه الدالة تقوم بإرجاع مجموعة من كل قيمة كل التجزئات.

#!/usr/bin/perl 

%data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com');

@urls = values %data;

print "$urls[0]\n";
print "$urls[1]\n";
print "$urls[2]\n";

البرنامج المذكور أعلاه، والناتج هو:

taobao.com
w3big.com
google.com

الكشف عن وجود عنصر

إذا كنت تقرأ زوج المفتاح غير موجود / قيمة في التجزئة، وإرجاع قيمةغير محددة، وفي تنفيذ تذكير تحذير.

لتجنب هذه الحالة، يمكننا استخدامموجود وظيفة لتحديد ما إذا كان المفتاح موجودا، عندما يقرأ الوجود:

#!/usr/bin/perl

%data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com');

if( exists($data{'facebook'} ) ){
   print "facebook 的网址为 $data{'facebook'} \n";
}
else
{
   print "facebook 键不存在\n";
}

البرنامج المذكور أعلاه، والناتج هو:

facebook 键不存

رمز أعلاه يمكننا استخدامIF ... بيان آخرفي جزء لاحق سوف أعرض محددة.


يحصل على حجم التجزئة

حجم التجزئة هو عدد من العناصر التي يمكن أن نحصل من خلال جميع عناصر المصفوفة إلى مفتاح أو قيمة، ومن ثم حساب عدد من عناصر مجموعة للحصول على حجم التجزئة، والأمثلة على النحو التالي:

#!/usr/bin/perl

%data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com');

@keys = keys %data;
$size = @keys;
print "1 - 哈希大小: $size\n";

@values = values %data;
$size = @values;
print "2 - 哈希大小: $size\n";

البرنامج المذكور أعلاه، والناتج هو:

1 - 哈希大小: 3
2 - 哈希大小: 3

تجزئة إضافة أو إزالة عناصر

ويمكن أن يتم إضافة أزواج مفتاح / قيمة من قبل الاحالة بسيط. ومع ذلك، إزالة عناصر التجزئة تحتاج إلى استخدام وظيفةالحذف:

#!/usr/bin/perl

%data = ('google'=>'google.com', 'w3big'=>'w3big.com', 'taobao'=>'taobao.com');
@keys = keys %data;
$size = @keys;
print "1 - 哈希大小: $size\n";

# 添加元素
$data{'facebook'} = 'facebook.com';
@keys = keys %data;
$size = @keys;
print "2 - 哈希大小: $size\n";

# 删除哈希中的元素
delete $data{'taobao'};
@keys = keys %data;
$size = @keys;
print "3 - 哈希大小: $size\n";

البرنامج المذكور أعلاه، والناتج هو:

1 - 哈希大小: 3
2 - 哈希大小: 4
3 - 哈希大小: 3