Loading...

BTC Address to donate : [[address]]

Donation of [[value]] BTC Received. Thank You.
[[error]]

b0y مراقب
  • شكراً: 3113
  • تم شكره 2558 مرة في 509 مشاركة

السلام عليكم و رحمة الله و بركاته

في هذا الدرس سنشرح التعامل مع الdata types بمختلف أنواعها إن شاء الله.
في البيرل يوجد ال3 أنواع من الdata types: Scalars Arrays Hashes طبعا نعلم حسب أول درس نبذه سطحية عنهم, الآن سنتوسع بكل نوع على حدة إن شاء الله.
الscalars (simple variable)
الscalar هو المتغيير العادي كما نعلم و المتغيير هو جزأ من الذاكرة يتم حجزه فقد ليحتوي على معلومات. و بالإمكان أن يتألف على أرقام و أحرف و يجب أن يكون مسبوقا بعلامة $ مثال :
كود PHP:
$a 1;
$b3 “asd”
و المتغيير حساس لحجم الحرف ف $a متغيير و $B متغيير آخر, طبعا يوجد بعض المتغييرات التي لا يمكننا إستخدامها فهي معرفة مسبقا ضمن الspecial variable مثل أي متغيير من أرقام فقد ك : $1 $2 $3 … سيتم شرحهم في القسم الثاني من الموضوع.
لإنشاء المتغيير يجب عليك فقد أن تعطيه إسم و قيمة مثال:
كود PHP:
$a 1;
$b “sec4ever”
$c 
“perl”
و عند لإستخدامه كل ما عليك فعله هو إستحضاره مثال:
كود PHP:
$a “sec4ever”;
$b “perl”;
print 
“I’m learning $b on $a”
الناتج سيكون :
I’m learning perl on sec4ever
ال array variables
كما ذكرنا سابقا بالarray هي مجموعة من الvariable المرتبه, مثال:
@a = (“a”,”b”,”c”);
أو بالشكل التالي:
@a = qw/a b c/;
و بإمكاننا إستحضار قيمة منها بالشكل التالي: $array[index]
مثال: print $a[1]; الناتج سيكون b
لأن الindexing يبدأ من ال0 ف$a[0] هو a. بإمكاننا جعل الindexing يبدأ من ال1 عبر إستعمال الspecial variable $[ فبجعل قيمة $[ هي 1 , يصبح الإندكس الأول هو 1 لا 0, مثال:
كود PHP:
$[ = 1;
@
= (1,2,3);
print 
$a[1].-.$a[2].-.$a[3]; 
الناتج عند التشغيل:
1-2-3.
الآن لدينا @a = (“a”,”b”,”c”);
هذه array البسيطة تحتوي على a و b و c. الآن هذه الarray بالإمكان اللعب بها من عدت نواحي :
تعدادها, ترتيبها, إستحضار جزأ منها, تحويلها لمتغيير أو تحويل المتغيير لarray, الإضافة لها, الحذف منها إلخ...
سنشرح كل ما ذكرناه سابقا بالترتيب:
التعداد
بإمكاننا التعداد ب3 طرق مختلفة :



أريد الإضافة بإن الإندكس بالإمكان أن يكون سلبيا مثل:
$a[-1]
سيطبع c أي آخر قيمة في الarray.
إستحضار جزأ من الarray



تحويل الarray لمتغيير
بإمكاننا ذلك عبر الjoin function
الsyntax هي:
join EXPR, LIST
مثال:
كود PHP:
@= ("a","b","c");
$b join' ', @a);
print 
$b
الناتج:
a b c
تحويل المتغيير لarray
وذلك عبر الsplit function
الsyntax هي:
split [ PATTERN [ , EXPR [ , LIMIT ] ] ]
مثال:
كود PHP:
$b "amir-samir-ahmad-wassim-karim";
@
a1 split("-",$b);
@
a2 split("-",$b,3);
print 
"first array: @a1\n";
print 
"seconde array: @a2\n"
الناتج:
first array: amir samir ahmad wassim karim
seconde array: amir samir ahmad-wassim-karim
ترتيب الarray
بالإمكان ترتيب الarray بإستعمال الsort function
الsyntax هي:
sort [ SUBROUTINE ] LIST
مثال:
كود PHP:
@qw/a c B A f b/;
@
sort(@a);
print 
"\@a: @a"
الناتج:
@a: A B a b c f
التعامل مع القيم في الarray



الhashes
الhashes كما ذكرنا سابقا هي معرفة ب% وتحتوي مجموعة من keys و لكل key الvalue الخاص به.
مثال:
كود PHP:
%= ("a" => 1,"b" => 2);
print 
$a{a}."\n";
print 
$a{b}; 
أو بإمكانه أن يكون بالشكل:
%a = ("a" , 1,"b" , 2);
ف المترجم يقرأ كل زوج من القيم على حدة.
و أيضا المثال السابق بالإمكان أن يكون:
كود PHP:
%= (-"a" => 1, -"b" => 2);
print 
$a{-a}."\n";
print 
$a{-b}; 
فعند تعريف الفيمة ب- يجب علينا عند إستحضارها تعريفهاب-
شرح إستخراج جزأ منها لarray
مثال:
كود PHP:
%= ("a" => 1"b" => 2);
print 
"@a{a, b}"
شرح إستخراج الkeys/values
لإستخراج الkeys
بإمكاننا ذلك عبر الkeys function
الsyntax
keys %HASH
مثال:
كود PHP:
%= ("a" => 1"b" => 2);
@
keys %a;
print 
"first key: ".$b[0]."\nseconde key: ".$b[1]; 
الناتج:
first key: a
seconde key: b
لإستخراج الvalues
بإمكاننا ذلك عبر الvalues function
الsyntax
values %HASH
مثال:
كود PHP:
%= ("a" => 1"b" => 2);
@
values %a;
print 
"first value: ".$b[0]."\nseconde value: ".$b[1]; 
الناتج:
first value: 1
seconde value: 2
شرح التعامل مع القيم في الhashes
لإضافة زوج على الhash
كود PHP:
%= ("a" => 1"b" => 2);
$a{'c'} = 3;
@
keys %a;
print 
"@b"
الناتج
c a b
الsubroutines
الsubroutine بالكود هو تقريبا مثل function خاص بنا. الsyntax هي:
sub subroutine_name {
coding ….
}
و إستحضاره يكون بالشكل التالي في الكود:
subroutine_name();
أو
subroutine_name(input1,input2)
مثل أي function آخر. في حل تطلب الsubroutine لinput يخزنون في الarray : @_
فإستحضارهم يكون بالشكل التالي : $_[0] $_[1]…
في المثال subroutine_name(input1,input2) الinput1 هو ال$_[0] و الinput2 هو ال$_[1]
مثال:
كود PHP:
say_hello();
$name "test";
say($name);
sub say_hello {
print 
"Welcome to $0\n";
}

sub say {
print 
"my name is $_[0]\n";

الناتج سيكون:
Welcome to learn.pl
my name is test
تمام لكن ما هو ال$0 ؟ حسنا ال$0 يحمل إسم السكربت.
إلى هنا إنتهى الدرس الثالث.أتمنى أن يكون الشرح واضح, أي إستفسار,توضيح أو سؤال ضعه في رد.
في أمان الله

توقيع


المشاركة الأصلية كتبت بواسطة ApOcalYpse اقتباس :
فقط توقف عن طلب النتيجة و تخيلها و السعي خلفها و قم بما عليك القيام به
...
الناس تحب النتيجة و لكنها تكره الطريق الصعب الذي يوصل اليها
المشاركة الأصلية كتبت بواسطة Sec4ever اقتباس :
فيه حكمة مهمة جدا ينقصنا نحن المسلمون العمل بها حتى تكون لنا مكانة بين الأخرين :

يجب العمل قدر المستطاع و ليس قدر الحاجة .
المشاركة الأصلية كتبت بواسطة UzunDz اقتباس :
ثانيا فيه ادمغة من العرب وموجودين معنا هنا بالمنتدى ويقدمو مواضيع ما تجدها عند الأجانب والتقليل من شان العرب امام الأجانب يسمى جهل و نقص في الشخصية ونوعية هذا الكلام لا تفيدنا الا في الرجوع الى الوراء,, وان كنت شايف نفسك متوقف في كيفية صنع ليتر فهذا لا يعني ان الجميع متوقف هناك بمعنى آخر لا تتكلم بصيغة الجمع عن العرب لأنك تمثل نفسك فقط
المشاركة الأصلية كتبت بواسطة chevr0sky اقتباس :
أنصحك بالتشمير عن سواعدك و الكد و التعب و كذلك سهر الليالي فلا توجد خلطة أو وصفة توصلك إلى مبتغاك.

22 أعضاء قالوا شكراً لـ b0y على المشاركة المفيدة: