المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : دورة البيرل (Perl) - الدرس الثالث المتغيرات --


Expl0it-c0d3
01-11-2009, 01:09 PM
بسم الله الرحمن الرحيم
في درسنا اليوم سنتطرق إلى المتغيرات (Variables) .
إلمتغيرات في لغات البرمجة مثل المتغيرات في الرياضيات تقريبا .. و تبرز اهميتها جلية في قدرتها على جعل البرنامج او الموقع ديناميكي يتغير بحسب المتطلبات .. بيرل تقدم خيارات كثيرة للاحتفاظ بالمتغيرات … نستعرضها هنا الان:-

Scalars:
امثلـــــــة :-

$a = 10;
$value = $a + 1;
$number_of_items = 15;
$word = "hello";
$text = "This is a sentence but is still a scalar";
Arrays:

[فقط الأعضاء المسجلين والمفعلين يمكنهم رؤية الوصلات]


@array = ( 1, 2 );
@words = ( "first", "second", "third" );
@values = ( $x, $y, 3, 5);
و سنتكلم بتفصيل اكثر في دروس لاحقة عنها و لكن الان فقط نشير الى انه في حالة نريد استخراج قيمة معينة من هذه السلسلة ، فنطلبها على اساس انها متغير مسبوق بعلامة الدولار و نضيف رقمها في الترتيب بحيث نبدا من الصفر … فمثلا لطلب قيم من الامثلة اعلاه نكتب هكذا :



$array[0] has the value 1
$array[1] has the value 2
$words[0] has the value "first"
ايضا يمكن اسناد القيم الى عدة متغيرات في سلسلة بهذه الطريقة :

($x, $y, $z ) = ( 1, 2, 3);



Hashes:

و هو نوع خاص من الاريز في حقيقة الامر فبدل الاشارة الى القيم بارقام حسب ترتيبها هنا نستخدم كلمات ( مفاتيح ) .. و تبدا هذه الاخرى بعلامة المئوية هكذا :

%product
و لاضافة مفاتيح ندخلها بهذه الطريفة :

$product{pizza} = 30;
$product{coke} = 40;
$product{spumoni} = 12;هناك متغير آخر ويسمى المتغير الإفتراضي ويرمز له هكذا:
$_


ماهو عمل هذا المتغير: نستطيع أن نقول أنه لا يوجد سكريبت بيرل يخلوا منه
نفرض اننا أعطينا المتغير القيمة sec4ever يعني عندما نكتب
Print;


هذا كان استعراض سريع للمتغيرات في لغة البيرل ولكن لها فوائد كثير تفوق الاحصاء لكن سنتكلم عنها ونرى فوائدها في أمثلة تطبيقيا في برمجة صفحات الأنترنت وقواعد البيانات، تذكر إن المتغيرات هي اساس لغات البرمجـــــــــــــة.
-----------------

هنا ينتهي الدرس الثالث أرجوا أن أكون قد وفيت في شرحي المتواضع
إلى الدرس القادم إن شاء الله

Sec4ever
19-01-2010, 02:46 PM
منتظرين تكملت الدروس :(

TOP SAT 13
26-01-2010, 05:54 PM
ننتضر الدخول الى لب الدروـــــــــــس شـــ كرااا

VoLc4n0
02-02-2010, 01:22 PM
درس مرتب بس حسيت نفسي غير فاهم


في اشياء ما فهمتها

شوف مثلا

-------
$array[0] has the value 1
$array[1] has the value 2
$words[0] has the value "first"

هون المتغير
$array[0]
ليش خصيته انت بالصفر هل له معنى معين ولا مثله مثل ايا متغير
يعني لو كتبناه array0
بينفع ولا كيف



------------

النقطه الثانيه

%produc

هذا ما فهمت ايش بده بالضبط وايش فائدته

ربمنا مبكر سؤالي ع الدرس

اتمنا تعطينا رايك

وشكرا

SeCuRiTy|CoDe
07-02-2010, 07:37 AM
جميل واصل ومتابع ولدي سؤال بسيط

هل استطيع استخدام Arrays فقط

والامتناع عن Scalars

لاني كما فهمت ان Scalars مايستطيع ان يكون له عده قيم

لذا سوف اكتفي بـArrays فقط لاني استطيع ان اعطيه عده قيم

او قيمه وحده

مارايك هل استطيع هو من باب التعلم بشكل مختصر بعدها التوسع

doubleali
07-02-2010, 10:34 PM
االسلام عليكم
ممك كم سؤال بسيط !
هل scarlas هي نفسها variavles ؟ و ما الفرق يبنهم ؟

جواب للأخ السائل ؟
تكلم Exploit-Code عن الاريز أي المصفوفات . ما هي المصفوفات ؟
عباره عن متغير عادي يحتوي على مجموعه من المتغيرات بداخله و كل متغير يحمل قيمه و قد لا يحمل قيمه كيف ذلك - تابع معي :

[فقط الأعضاء المسجلين والمفعلين يمكنهم رؤية الوصلات]
@array=($X , $Y , 100 , 150)


هنا قد عرفنا مصفوفه تحتوي على اربعه عناصر اثنان منها متغيرات تبدأ بـ $ و اخر عنصرين عباره عن ارقام 100 و 150. هذه مصفوفه مكونه من اربع عناصر
سؤال: كيف نريد ان نستخرج قيمه معينه من داخل المصفوفه ؟
هذه المصفوفه تحتوي على اربعه عناصر وكل عنصر له رقم خاص به يمكنك ان تستدعيه من خلاله .:. نبدأ ترقيم المصفوفه من صفر إلى رقم 3 "الترقيم يبدأ من الصفر اجباري".
في لغه بيرل إذا اردنا ان نستخرج القيمه يكون كالتالي :
[فقط الأعضاء المسجلين والمفعلين يمكنهم رؤية الوصلات]
اما الاستدعاء كالتالي :

$array[0] --> هذا يدل على المتغير $X
$array[1] --> هذا يدل على المتغير $Y
$array[2] --> هذا يدل على القيمه 100 داخل المصفوفه
$array[3] --> هذا يدل على القيمه 150 داخل المصفوفه

لاحظ هنا عند استخراج قيمه ما في المصفوفه نكتب اولا $ ثم اسم الصفوفه ثم نضع [ رقم العنصر المراد استخراجه ]

قاعده:
عند التعريف عن مصفوفه نستخدم علامة @
عند استخراج قيم من مصفوفه نستخدم علامة $

---------------HASHES-----------------------------
مثل ما قال اخوانا الكبير هاش هي نوع من انواع المصفوفات يعني نقدر نحكي عنها التراكيب -حسب ما اعتقد-
الفرق بين التراكيب و المصفوفات ؟
المصفوفه تاخد للدلاله على عنصر معين رقم اما التراكيب فتأخذ كلمات "مفتاحيه"
ما الفائده ؟
حتى تساعد المبرمج لاعطاء المتغير وصف عنه يعني "مفتاحيه" بدل ما إنك تستخدم مصفوفه عاديه و كلها ارقام حتى تسهل عليك خصوصا عندما يكون مشروعك كبير جدا


غذا كان هنالك خطأ ارجو منكم تصحيحي ! حيث لا توجد لدي خبره في البيرل و هذا ما فهمته من كلام اخونا !

SeCuRiTy|CoDe
08-02-2010, 10:49 AM
ماقصرت يابعدي

لاكن اتعبت نفسك بالتفصيل لاكني فهمت كل منه بشكل سطحي ماهي وظيفتها

لاكن كنت اريد اسال لو استغني عن احدهما وان استخدم Arrays فقط

لانها راح تغنيني عن الاولا صحيح ؟

كل ما اردته ان يرد احد ويقول نعم يمكنك الاستغناء عن الاولى واستخدام Arrays فقط لان الاخيره تمكنني بعمل قيمه او اكثر

او يرد ويقول لن تستطيع الاستغناء عنها

doubleali
08-02-2010, 06:13 PM
ماقصرت يابعدي

لاكن اتعبت نفسك بالتفصيل لاكني فهمت كل منه بشكل سطحي ماهي وظيفتها

لاكن كنت اريد اسال لو استغني عن احدهما وان استخدم Arrays فقط

لانها راح تغنيني عن الاولا صحيح ؟

كل ما اردته ان يرد احد ويقول نعم يمكنك الاستغناء عن الاولى واستخدام Arrays فقط لان الاخيره تمكنني بعمل قيمه او اكثر

او يرد ويقول لن تستطيع الاستغناء عنها
السلام عليكم

- تستطيع الاستغناء عنها - حسب حاجتك - لكن لماذا وجدت اصلا ؟
اخي الهدف من هذه الدوره ليس ان تحترف برمجه البيرل بل الهدف لتساعدك على النواحي الامنيه في الاختراق و الحمايه و تطوير و تعديل سكربتات بيرل حسب حاجتك اما اذا ارت التوسع فعليك قراءه كتاب كامل تتعلم عنها كل شيء.
نعود لسؤالك - تستكيع الاستغناء و لا تستطيع الاستغناء ! - احيانا تحتاج أن تخزن مجموعه قيم في متغيرات كثيره الافضل لك تستخدم مصفوفه لاستعراض محتوياتها و التعديل عليها بسرعه و فاعليه و ذلك من خلال جمله loop .
كما يجب ان تضع في بالك "تقنيه الكود" استخدام المتغير المناسب في المكان المناسب - يعني تستخدم مصفوفه تعني حجز حيز في الذاكره اكبر من متغير عادي .

SeCuRiTy|CoDe
08-02-2010, 09:19 PM
هذا ماكن ابحث عنه من اجابه

وهو انه يمكني الاستغناء ولايمكني

اي بصيغه اخرى يجيب ان لاننساها نهائيا لك كل الشكر على المتابعه

Expl0it-c0d3
09-02-2010, 10:40 AM
بسم الله الرحمن الرحيم
والسلام عليكم ورحمة الله تعالى وبركاته

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

الأخ volcano_abd ([فقط الأعضاء المسجلين والمفعلين يمكنهم رؤية الوصلات])في مايخض سؤالك جوابه في الدرس القادم الذي تحت عنوان Array وهو درس شامل لنوع المتغير الذي هو حقيقة صعب قليلا في الفهم ولا يخلوا أي سكريبت كان في البيرل منه.

الأخ SeCuRiTy|CoDe ([فقط الأعضاء المسجلين والمفعلين يمكنهم رؤية الوصلات]) لايوجد تع_لم مختصر ففي بعض الأحيان لا يمكن الإستغناء عن scalars وأيضا لا يمكن تحديد متغير scalars يحمل قيمة واحدة بمتغير من نوع array فا بسبب هذه الإختصارات تكون أخطاء كثيرة في السكريبت وعيوب فـ array ياخد مساحة في الذاكرة أكثر من المتغير scalars وأحيان لا يشتغل السكريبت أو يقوم بتعطيل الحاسب وأظطراره إلى إعادة التشغيل إذا كان السكريبت كبير

أما الأخ doubleali ([فقط الأعضاء المسجلين والمفعلين يمكنهم رؤية الوصلات]):
هل scarlas هي نفسها variavles ؟ و ما الفرق يبنهم ؟

هل تقصد Variables والمقصود به هو المتغيرات بصفة عامة سواء كانت عديدة حرفية مصفوفات ....
اما scalars والمقصود بها هي المتغيرات العددية فقط اظن الفرق واضح

أما بخصوص ردك فانت جيد ولديك مستقبل زاهر في البرمجة بالبيرل هذا ان لم تكن محترف ;)

SeCuRiTy|CoDe
09-02-2010, 03:24 PM
جميل جدا وشاكر لك متابعتك وواصل نحن متابعين معك , ,

ماقصدته انه ساتغاضا عنها وارجع لها فيما بعد

لاكن الافظل ان لا انسى كليهما

شاكر لك واصل حبيبي

نحن متابعين معك

doubleali
11-02-2010, 03:24 AM
ل تقصد Variables والمقصود به هو المتغيرات بصفة عامة سواء كانت عديدة حرفية مصفوفات ....
اما scalars والمقصود بها هي المتغيرات العددية فقط اظن الفرق واضح

أما بخصوص ردك فانت جيد ولديك مستقبل زاهر في البرمجة بالبيرل هذا ان لم تكن محترف ;) ([فقط الأعضاء المسجلين والمفعلين يمكنهم رؤية الوصلات])


بارك الله فيك على ردك ! ورفع معنوياتي ^_^ | انت معلمي الاول | يا كبير !
.:. scarls متغيرات عدديه
---- هل توجد متغيرات تأخذ سلاسل من الاحرف "strings"

Expl0it-c0d3
13-02-2010, 09:51 AM
بارك الله فيك على ردك ! ورفع معنوياتي ^_^ | انت معلمي الاول | يا كبير !
.:. scarls متغيرات عدديه
---- هل توجد متغيرات تأخذ سلاسل من الاحرف "strings"
السلام عليكم ورحمة الله تعالى وبركاته
لم أفهم سؤلك جيدا ولكن إذا كان ما يدور في بالي هو مقصودك راجع درس Strings

DZ-CRYPT
06-06-2010, 11:17 PM
بارك لله فيك