منتدى طلبة كلية الهندسه بأسوان
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

منتدى طلبة كلية الهندسه بأسوان

منتدى طلبة كلية الهندسه بأسوان
 
الرئيسيةالتسجيلأحدث الصوردخول

 

 كل ما يخص لغة البرمجة " روبي " Ruby Programming Language

اذهب الى الأسفل 
4 مشترك
كاتب الموضوعرسالة
YeHi@$MmZ
مراقب عام منتدى أقسام الكليه ومشرف قسمى حاسبات وكورسات هندسيه
مراقب عام منتدى أقسام الكليه ومشرف قسمى حاسبات وكورسات هندسيه
YeHi@$MmZ


عدد المساهمات : 5020
تاريخ التسجيل : 25/06/2007
العمر : 37
الموقع : سرى
رقم العضوية : 10
Upload Photos : كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Upload

كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Empty
مُساهمةموضوع: كل ما يخص لغة البرمجة " روبي " Ruby Programming Language   كل ما يخص لغة البرمجة " روبي " Ruby Programming Language I_icon_minitimeالسبت 3 مايو - 9:10

:البسمله:


سيكون هذا الموضوع ان شاء الله يجمع كل ما يخص لغة البرمجة ( روبي )
من معلومات وكتب ودورات لها

على مدار أكثر من مشاركة

وهى اهداء خاص لباشمهندس أسامة جابر وتلبية لطلبه


عدل سابقا من قبل YeHi@$MmZ في الجمعة 9 مايو - 5:20 عدل 1 مرات
الرجوع الى أعلى الصفحة اذهب الى الأسفل
YeHi@$MmZ
مراقب عام منتدى أقسام الكليه ومشرف قسمى حاسبات وكورسات هندسيه
مراقب عام منتدى أقسام الكليه ومشرف قسمى حاسبات وكورسات هندسيه
YeHi@$MmZ


عدد المساهمات : 5020
تاريخ التسجيل : 25/06/2007
العمر : 37
الموقع : سرى
رقم العضوية : 10
Upload Photos : كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Upload

كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Empty
مُساهمةموضوع: رد: كل ما يخص لغة البرمجة " روبي " Ruby Programming Language   كل ما يخص لغة البرمجة " روبي " Ruby Programming Language I_icon_minitimeالسبت 3 مايو - 10:20

كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Logo


روبي (أو ياقوت) هي لغة برمجة كائنية ابتدعها الياباني يوكيهيرو ’ماتز’ ماتسوموتو. و تمتاز اللغة بكونها لغة شيئية نقية كما تمتاز باحتوائها على كثير من خواص اللغات الوظيفية. بدأ ماتز العمل عليها في العام 1993 و حرر أول نسخة للعامة في العام 1995. لم تحصل روبي على الشهرة إلا مؤخرا عندما قام دافيد هاينماير هانسون بتطوير الإطار المشهور لبرمجة الوب روبي على القضبان بإستخدام روبي في العام 2005.

مثال بسيط لكتابة Hello world

كل ما يخص لغة البرمجة " روبي " Ruby Programming Language 29641887ip7
الرجوع الى أعلى الصفحة اذهب الى الأسفل
YeHi@$MmZ
مراقب عام منتدى أقسام الكليه ومشرف قسمى حاسبات وكورسات هندسيه
مراقب عام منتدى أقسام الكليه ومشرف قسمى حاسبات وكورسات هندسيه
YeHi@$MmZ


عدد المساهمات : 5020
تاريخ التسجيل : 25/06/2007
العمر : 37
الموقع : سرى
رقم العضوية : 10
Upload Photos : كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Upload

كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Empty
مُساهمةموضوع: رد: كل ما يخص لغة البرمجة " روبي " Ruby Programming Language   كل ما يخص لغة البرمجة " روبي " Ruby Programming Language I_icon_minitimeالسبت 3 مايو - 10:24


<H3>حسناً كل هذا جميل … لكن أخبرني ما هي روبي Ruby؟



لغة روبي للبرمجة هي لغة تفاعلية dynamic مفتوحة المصدر open source

هدفها

هو التركيز على أمرين كان من الصعب توفرهما معاً في السابق, وهما السهولة والقوة,

أي البساطة في طريقة البرمجة مع إمكانية إنتاجية عالية.

تستخدم لغة روبي طريقة كتابة syntax أنيقة جداً وطبيعية natural بمعنى أنها قريبة جداً للفهم البشري وطريقة تحدث البشر بحيث تسهل قراءتها وكتابتها أيضاً. ستعرفون المزيد عن هذا بعد قليل وستلاحظونه من خلال الأمثلة العملية.

أصدر هذه اللغة عام 1995 الياباني (يوكيهيرو ماتسوموتو) Yukihiro Matsumoto الذي يطلقون عليه اختصاراً إسم Matz وذلك في جميع المنتديات والمجموعات البريدية المهتمة بروبي. توصف هذه اللغة على اعتبارها من اللغات (عالية المستوى جداً) A very high level programming language …

قد يبدو التعبير غريباً للبعض وقد يكون هنالك ترجمة أفضل من ترجمتي البسيطة والساذجة لهذا المصطلح لكننا لا نهتم هنا بالترجمات المتحذلقة التي تضيع المعنى. في الواقع تنقسم لغات البرمجة عادةً إلى لغات ذات مستوى منخفض low level ولغات ذات مستوى عال high level وهي تقريباً جميع اللغات المشهورة حالياً مثل ++C و جافا Java وغيرها. لكن عندما جاءت لغات مثل روبي وبايثون Python اضطر المهتمون بابتداع هذا التصنيف الجديد وهو اللغات عالية المستوى جداً ويدعونه اختصاراً بـ VHLL. قد يطول الحديث نوعاً عن الفرق بين هذه المستويات لكن بشكل أساسي يمكننا اعتبار التالي:”كلما احتاج المبرمج أن يهتم أثناء كتابة برنامجه بتفاصيل توضّح للكمبيوتر كيفية التعامل مع ما يكتبه, كلما انخفض مستوى اللغة”. ماذا؟ لم تفهم شيئاً من العبارة السابقة؟ حسناً لا عليك إن الأمر هو البساطة ذاتها. في بعض لغات البرمجة يضطر المبرمج أن يوجّه الحاسب ويدلّه كيف يخزن متحولات variables برنامجه الذاكرة وكيف يجب أن يتعامل المعالج مع البرنامج لمعالجة المعلومات. يعني بينما يكون هدف المبرمج كتابة برنامج لمدرسة على سبيل المثال, تراه بدل تركيزه على كتابة كود يتعامل مع الطلاب والمدرسين والصفوف (وهي قضايا عالية المستوى) يركز على أمور منخفضة المستوى مثل كيفية تعامل ذاكرة الكمبيوتر مع البرنامج. كما قلنا تتفاوت لغات البرمجة في حاجتها إلى مثل هذه الأمور فكلما تكفلت لغة البرمجة بمعالجة الأمور الدنيا low level وأزاحتها عن كاهل المبرمج كلما اعتبرنا أن هذه اللغة هي لغة high level أو عالية المستوى. حسناً, يمكنك أن تتوقع الآن لماذا تُعتبر لغة روبي بأنها لغة عالية المستوى جداً. مع روبي لن تقلق لكل هذه الأمور الممكنة وستستطيع التركيز على برنامجك والهدف من كتابته وستتكفل عنك لغة روبي بكل الأمور المنخفضة المستوى فهي تعرف كيف تستطيع معالجتها بكل جدارة!
حسناً, الآن يكفي هذا المقدار لنأخذ فكرة عن الخلفية التي جاءت منها لغة روبي وحان وقت العمل .. ستتعلم الآن كيفية تشغيل لغة روبي على جهازك كي تباشر بالبرمجة فوراً!
تنزيل لغة روبي على جهازك وتشغيلها


أولاً: تنزيل لغة روبي على نظام ويندوز_ Microsoft Windows_
رغم أنني لا أحب ويندوز ورغم أنك تعلم أن لينوكس Linux هو بيئة أنسب سواءاً لتطوير البرمجيات أو للاستخدام اليومي العادي إلا أنني أعرف أنك غالباً تقرأ هذه السطور الآن على نظام ويندوز كغالبية القراء. لهذا وريثما تتخذ قرارك المصيري بالانتقال من نظام ويندوز إلى لينوكس سوف أقوم بشرح كيفية الحصول على لغة روبي وتنزيلها لديك. أفضل وأسرع طريقة لتشغيل روبي على ويندوز هي باستخدام حزمة Ruby Installer التي تسمح لك بتنزيل روبي على جهازك بكبسة زر واحدة بكل بساطة. تستطيع الحصول عليها من الموقع:
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] </H3>
الرجوع الى أعلى الصفحة اذهب الى الأسفل
YeHi@$MmZ
مراقب عام منتدى أقسام الكليه ومشرف قسمى حاسبات وكورسات هندسيه
مراقب عام منتدى أقسام الكليه ومشرف قسمى حاسبات وكورسات هندسيه
YeHi@$MmZ


عدد المساهمات : 5020
تاريخ التسجيل : 25/06/2007
العمر : 37
الموقع : سرى
رقم العضوية : 10
Upload Photos : كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Upload

كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Empty
مُساهمةموضوع: رد: كل ما يخص لغة البرمجة " روبي " Ruby Programming Language   كل ما يخص لغة البرمجة " روبي " Ruby Programming Language I_icon_minitimeالسبت 3 مايو - 10:26


في لغة روبي, كما هو الحال في معظم لغات البرمجة, نقوم بتخزين برامجنا في ملفات ثم نقوم بتشغيل البرنامج عن طريق تشغيل هذه الملفات بالطريقة المناسبة. لكن روبي تقدم أيضاً إمكانية تسمح لك بكتابة سطر من البرنامج ثم تنفيذه ومشاهدة النتيجة فوراً, ثم كتابة السطر الذي يليه وهكذا دواليك, وذلك عن طريق ما يسمّى بـ Interactive Ruby ويُدعى اختصاراً بـ (irb). و irb هو مكان لإدخال الأوامر شبيه بالـ shell الخاصة بلينوكس أو DOS الخاص بويندوز. بالتأكيد لن تستخدم irb لكتابة برامجك لكنها أداة ممتازة لمشاهدة كيف تعمل روبي وكيف تعالج المعلومات وستساعدك في فهم أساسيات لغة روبي قبل حتى أن تبدأ بكتابة أي برنامج. لهذا … حان الوقت كي (نلعب) قليلاً مع irb !
الرجوع الى أعلى الصفحة اذهب الى الأسفل
YeHi@$MmZ
مراقب عام منتدى أقسام الكليه ومشرف قسمى حاسبات وكورسات هندسيه
مراقب عام منتدى أقسام الكليه ومشرف قسمى حاسبات وكورسات هندسيه
YeHi@$MmZ


عدد المساهمات : 5020
تاريخ التسجيل : 25/06/2007
العمر : 37
الموقع : سرى
رقم العضوية : 10
Upload Photos : كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Upload

كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Empty
مُساهمةموضوع: رد: كل ما يخص لغة البرمجة " روبي " Ruby Programming Language   كل ما يخص لغة البرمجة " روبي " Ruby Programming Language I_icon_minitimeالسبت 3 مايو - 10:27


تشغيل irb


إذا كنت على نظام لينوكس يكفي أن تكتب الأمر irb في نافذة الـ shell وستظهر لك النتيجة التالية معلنةً أن irb جاهز للعمل



:$ irb
irb(main):001:0>




أما على ويندوز تستطيع تشغيله بالذهاب إلى قائمة Start واختيار Run ثم اكتب irb


عدل سابقا من قبل YeHi@$MmZ في السبت 3 مايو - 10:30 عدل 1 مرات
الرجوع الى أعلى الصفحة اذهب الى الأسفل
YeHi@$MmZ
مراقب عام منتدى أقسام الكليه ومشرف قسمى حاسبات وكورسات هندسيه
مراقب عام منتدى أقسام الكليه ومشرف قسمى حاسبات وكورسات هندسيه
YeHi@$MmZ


عدد المساهمات : 5020
تاريخ التسجيل : 25/06/2007
العمر : 37
الموقع : سرى
رقم العضوية : 10
Upload Photos : كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Upload

كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Empty
مُساهمةموضوع: رد: كل ما يخص لغة البرمجة " روبي " Ruby Programming Language   كل ما يخص لغة البرمجة " روبي " Ruby Programming Language I_icon_minitimeالسبت 3 مايو - 10:28

استخدام irb


الآن irb أصبح جاهزاً وينتظر منك أن يتلقى السطر الأول. يتألف السطر من عبارة واحدة أو عدة عبارات Expressions. لكن ما هي العبارات؟
العبارات Expressions


العبارة expression بكل بساطة هي قطعة من الكود code يحمل قيمة value معينة. لتوضيح المعنى دعونا نرى كيف سيتصرف irb حيال العبارة التالية: “Hello, world !” ضع العبارة كما هي في irb واضغط Enter وانظر النتيجة:irb(main):001:0> "Hello, world!"
=> "Hello, world!"

ما الذي حدث؟ قمنا بكتابة العبارة السابقة فأرجع لنا irb نفس العبارة! بالتأكيد سيرجعها نفسها طالما لم نطلب منه إجراء أية تعديلات عليها, في الواقع لم نطلب منه أي شيء. كل ما فهمه irb هنا أنك أدخلت له نصاً أو كما يسمونه بالعربية (سلسلة) أو ما يعرف عالمياً بالاسم String! إن الـ String هو مجموعة متعاقبة أو متتالية من المحارف characters تأتي محددّة ضمن فواصل علوية مزدوجة مثل هذه ” أو ما تسمى بـ Double Quotations أو مفردة مثل هذه ‘ وتسمى Single Quotations. إذاً irb هنا فهم أننا مررنا له string فأخذه وبعد أن حلله وجد أنه يجب إعادته كما هو.
كل شيء هو … شيء !!!


نعم بالنسبة إلى روبي فكل شيء هو شيء … أو بعبارة أصح كل شيء هو (غرض) Everything is an object. يعرف كل من درس البرمجة أو قرأ عنها .. يعرف حتماً ما هو الـ object وما هي البرمجة غرضية التوجه Object Oriented Programming. وأعرف أنك طالما مهتم بلغة روبي ووصلت إلى حد قراءة هذه السطور فلا بد أنك تدرك معنى هذه المصطلحات لكن دعني أشرح بشكل سريع شيئاً مختصراً عن البرمجة غرضية التوجه لنوضحها بشكل بسيط وسلس على من لا يعرفها أو من قرأ عنها لكن لم يستوعبها بشكل كامل.
بكل بساطة إن روبي هي لغة برمجة غرضية التوجه أي تتعامل مع أغراض أو أشياء objects. ماذا يعني هذا الكلام؟ إن ظننت الأمر معقداً فأنت مخطىء فالأمر لا يمكن أن يكون أبسط من ذلك, بكل بساطة فإن روبي تتعامل مع العالم المحيط كما يتعامل معه الإنسان تماماً. فبالنسبة للإنسان السيارة هي غرض object مؤلف من أجزاء لكن الإنسان يتعامل مع السيارة كغرض متكامل بحيث يستطيع القيادة دون أن يدرس الميكانيكية التي تعمل بها السيارة, ويشير إلى السيارة كشيء متكامل مهما كان عدد الأجزاء التي يتألف منها هذه الشيء. العالم المحيط بالسيارة يتعامل مع السيارة ككل وليس مع المحرك أو أي قطعة أخرى على حدى.
هنا قد تتساءل: وما أهمية هذا الكلام؟ هذا الكلام هام جداً ولم يكن متوفراً في لغات البرمجة القديمة, لن ندخل في تفاصيل كيف كان يتم التعامل مع لغات البرمجة التقليدية لأن هذا ليس موضوعنا لكن ما يمهنا معرفته هو أن جميع اللغات الحديثة هي لغات غرضية التوجه وروبي من بين هذه اللغات. لكن الفرق بين روبي و معظم لغات البرمجة غرضية التوجه الأخرى هو انك في روبي لا تستطيع كتابة برنامجك إلا بشكل غرضي التوجه object oriented شئت أم أبيت بينما في لغات أخرى لك الخيار في أن يكون برنامجك غرضي التوجه أو تقليدي. إن كنت تسأل عن فوائد البرمجة بشكل غرضي التوجه لا يتسع الحديث هنا التفصيل في هذا تستطيع –بل ويجب- أن تتوسع في هذا الموضوع بشيء من الإبحار في محرك البحث google.
مصطلح آخر سنتحدث عنه سريعاً هو مصطلح الـ Class. بالبرمجة غرضية التوجه لدينا الـ object ولدينا الـ class (يمكن تعريبه بالتصنيف أو الصنف) وسنتحدث عن الفرق بينهما على ضوء المثال السابق, كما قلنا فإن السيارة هي object فما هو الـ class؟ في هذه الحالة نقول أن السيارة تنتمي إلى الصنف أو class العربات … أو ربما وسائط النقل. بمعنى آخر فإن الـ class هو توصيف معنوي والـ object هو التجسيد الفعلي لشيء يتبع لهذا التصنيف. مثال آخر نستطيع أن نقول أنه لدينا class الكائنات البحرية ومن هذا الـ class لدينا object هو الدلفين و object آخر هو سمك القرش! أي أن الأغراض objects التابعة إلى class معين لا بد أن تتشارك في صفات أساسية تجعلها تستحق أن تنتمي إلى class واحد.
لا تقلق إن كانت بعض الأمور لا تزال غامضة, سنقوم بعد قليل بشرح عدة أمثلة عملية عن التطبيق الفعلي والمباشر لهذا الكلام في لغة روبي وسنرى عملياً كيف نستطيع أن نستفيد من هذا الكلام بشكل جميل وممتع. إذا عدنا واستذكرنا العبارة التي أدخلناها منذ قليل وهي “Hello, world!” وتساءلنا عن وضعها الآن بالنسبة لروبي في ضوء كلامنا السابق عن أن روبي غرضية التوجه, فكيف تفسر روبي هذا الكلام يا ترى؟
بكل بساطة بالنسبة لروبي فإن “Hello, world!” هي عبارة عن object من الـ class الذي يسمّى string. ألم نقل بأن الـ object هو التمثيل الحقيقي والفعلي لشيء ينتمي إلى الـ class؟ بالنسبة لروبي كما قلنا فإن كل شيء هو عبارة عن أغراض وتصنيفات objects & classes لهذا تعتبر روبي أي عبارة نصّية داخل فواصل quotations على أنها object ينتمي إلى class الـ string.
الآن لو فكرت قليلاً في الكلام السابق لشعرت أنه ناقص, قد تتساءل صحيح أن السيارة هي غرض يتبع لتصنيف العربات لكن لا بد أن يكون هناك شيء لتحريك السيارة, إن الغرض لا يتحرك لوحده إلا في أفلام الأشباح فما هو الشيء الذي يجعل السيارة تتحرك؟ ما الذي يعطيها الأمر بأنها يجب أن تتوقف الآن أو تمشي الآن ..؟ ستقول الضغط على دواسة البنزين يعطي السيارة أمراً كي تتحرك, نعم هذا صحيح لكن بمصلح لغات البرمجة نسمي هذا بالـ Method أي الطريقة التي تتحرك بواسطتها السيارة أو التعليمات التي يجب تنفيذها كي ينفذ الـ object حركة معينة. دعونا نجرب سريعاً الـ method التالية, اكتب السطر التالي في irb سترى النتيجة التالية على الشاشة:irb(main):002:0> "Hello, world!".class
=> String

ماهذا؟
لقد أضفنا بعد عبارة “Hello, world!” نقطة وكلمة class فتم إرجاع النتيجة: String فما الذي حدث؟ في روبي تستطيع أن تنفذ أي method (أي أن تعطي أمراً معينا للـ object كي يقوم بتنفيذه) بوضع نقطة بعد الـ object ثم كتابة اسم الـ method. وما فعلناه هو أننا استخدمنا method اسمها class وظيفة هذه الـ method هي إخبارنا بنوع التصنيف (يعني الـ class) الذي ينتمي إليه هذا الـ object.
لا تدع الأمور تختلط عليك فالـ method شيء والـ class شيء آخر كما شرحنا سابقاً لكن بالمصادفة كان اسم الـ method التي تعطينا نوع الـ class الخاص بـ object معين .. كان اسمها class. وعندما نفذنا هذه الـ method على عبارتنا أخبرتنا روبي بأن عبارتنا هذه تنتمي إلى class الـ String أي أنها عبارة نصّية. قد تسألني وماذا استفدنا من الـ method السابقة؟ كل ما فعلته هذه الـ method هو أن أخبرتنا بشيء نعرفه فمن البديهي أن اي عبارة محاطة بفواصل مزدوجة تنتمي إلى التصنيف String .. لا يحتاج الأمر إلى كل هذا التعقيد لنكتشف ذلك !!! أقول لك لا استفدنا ولا بطيخ! هذا كان مجرد مثال بسيط لشرح فكرة الـ method.
بالتأكيد فإن الـ method التي استخدمناها في المثال السابق جاهزة وموجودة في لغة روبي ولم نقم نحن ببرمجتها. كل ما فعلناه هو أننا استخدمنا إسم الـ method. بكل تأكيد سنتعلم ضمن هذه الدورة كيف تقوم بكتابة method خاصة بك لكن الجميل إنك لن تضطر إلا لبرمجتها مرة واحدة ثم وعندما تريد استخدامها تطلبها من خلال اسمها فقط كما فعلنا في المثال السابق تماماً.
الـ Integers


سنتعرف على نوع آخر أو على class آخر في روبي وهو الـ Integer. فبعدما تعرفنا على الـ String الذي يضم العبارات النصية فالـ Integer هو class يضم جميع الأرقام القابلة للقسمة على الواحد مثل: 0,5, 20, 10- ... الخ.
ملاحظة: إن جربت تطبيق الـ method التي جربناها سابقاً المسماة class على رقم من الأرقام مثلاً (100.class) فلن تكون النتيجة Integer بالرغم من أن الأرقام تنتمي إلى هذا التصنيف, بل سترجع لك إما Fixnum أو Bignum لأنها هي الطريقة التي تخزن فيها روبي الأرقام, فالرقم الكبير تعتبره روبي Bignum أما الرقم الصغير فهو Fixnum. الآن لو كررنا ما فعلناه في المثال السابق وكتبنا الرقم 100 على سبيل المثال داخل irb ستكون النتيجة:irb(main):003:0> 100
=> 100

حسناً, لكننا الآن نريد أن نفعل شيئاً مفيداً أكثر من مجرد تكرار ما كتبناه, أكتب السطر التالي وانظر النتيجة:irb(main):003:0> 100 + 100
=> 200

كما لاحظنا قامت روبي بجمع الأرقام وأعطتنا النتيجة. الأمر بسيط لكن دعنا نفسره كما تفهمه روبي. بالنسبة لروبي فإن 100+100 هي عبارة expression والرقم 100 هو object وكذلك رقم 100 الثاني بالتأكيد. ويوجد لدى روبي method إسمها + مهمة هذه الـ method جمع الغرض الأول إلى الغرض الثاني.
الرجوع الى أعلى الصفحة اذهب الى الأسفل
YeHi@$MmZ
مراقب عام منتدى أقسام الكليه ومشرف قسمى حاسبات وكورسات هندسيه
مراقب عام منتدى أقسام الكليه ومشرف قسمى حاسبات وكورسات هندسيه
YeHi@$MmZ


عدد المساهمات : 5020
تاريخ التسجيل : 25/06/2007
العمر : 37
الموقع : سرى
رقم العضوية : 10
Upload Photos : كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Upload

كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Empty
مُساهمةموضوع: رد: كل ما يخص لغة البرمجة " روبي " Ruby Programming Language   كل ما يخص لغة البرمجة " روبي " Ruby Programming Language I_icon_minitimeالسبت 3 مايو - 10:29

الجمع Addition, الضم Concatenation, ورسائل الخطأ Exceptions


تستطيع إشارة + (أو الـ method المسماة +) فعل أكثر من جمع الأرقام, أنظر المثال التالي:irb(main):005:0> "Hello, " + "world!"
=> "Hello, world!"

قمنا بإضافة الـ string الذي هو عبارة عن كلمة “Hello,” إلى الـ string الذي هو عبارة عن كلمة “world!” فقمنا بإنشاء string جديد هو “Hello, world!”. بالتأكيد لا يمكن جمع السلاسل النصية strings لهذا قامت روبي عندما شاهدت إشارة + بعملية ضم العبارتين سوياً في عبارة واحدة وهذه العملية تسمى بالـ Concatenation.
يا ترى ما الذي سيحدث لو حاولنا ضم نوعين مختلفين من الـ objects؟ دعونا نجرب:irb(main):006:0> "Hello, world!" + 100
TypeError: failed to convert Fixnum into String
from (irb):6:in '+'
from (irb):6

الرسالة السابقة تقول لنا بوضوح بأن روبي فشلت في إضافة رقم إلى نص وهذا أمر منطقي. في لغة روبي و اللغات الأخرى يسمى النوع السابق من الرسائل بالـ Exceptions. قد يتبادر إلى ذهن القارىء السؤال التالي:” يا أخي من المنطقي أننا لا نستطيع أن نجمع رقم إلى نص, لكن ماذا لو كنت أريد إضافة الرقم 100 إلى نهاية النص كقيمة نصية وليس كقيمة عددية, يعني أن تصبح لدينا العبارة بالشكل: “Hello, world100”
الجواب أن هذا ممكن بالطبع لكن قبل أن نتمكن من عمل ذلك علينا أن نخبر روبي أن تقوم بتحويل الرقم 100 من قيمة رقمية إلى قيمة نصية, بمعنى أن تتعامل روبي مع الرقم 100 كنص وتكف عن التعامل معه كرقم قابل للجمع والطرح والعمليات الحسابية. أنظر كيف تستطيع ذلك:irb(main):007:0> "Hello, world!" + 100.to_s
=> "Hello, world!100"

كما تلاحظ قمنا باستخدام method تدعى to_s وطبقناها على الرقم 100. مهمة هذه الـ method كما هو واضح هو أخذ القيمة الرقمية على يسارها وتحويلها إلى قيمة نصية, حينها ستستطيع الـ method التي هي + في حالتنا هذه, ستستطيع ضم النص “100” (تذكر أنه أصبح نصاً وليس رقماً) إلى النص “Hello, world”. من الواضح أن to_s تعني to string أي تحويل القيمة العددية إلى قيمة نصية.
لو جربت أن تطبق الأمر 100.to_s فقط لحصلت على النتيجة: لاحظ أن النتيجة المعطاة هي “100” (بين فاصلتين) وليس 100 وهذا يعني أنه تم تحويلها إلى نص ولم تعد عدداً. الآن جرب هذه على السريع:irb(main):009:0> "100".to_i
=> 100

لا يحتاج الأمر إلى شرح! قامت الـ method المسماة to_i (وتعني to integer, لا يحتاج الأمر إلى ذكاء) بتحويل النص “100” إلى قيمة عددية 100 مرة أخرى.
الرجوع الى أعلى الصفحة اذهب الى الأسفل
YeHi@$MmZ
مراقب عام منتدى أقسام الكليه ومشرف قسمى حاسبات وكورسات هندسيه
مراقب عام منتدى أقسام الكليه ومشرف قسمى حاسبات وكورسات هندسيه
YeHi@$MmZ


عدد المساهمات : 5020
تاريخ التسجيل : 25/06/2007
العمر : 37
الموقع : سرى
رقم العضوية : 10
Upload Photos : كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Upload

كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Empty
مُساهمةموضوع: رد: كل ما يخص لغة البرمجة " روبي " Ruby Programming Language   كل ما يخص لغة البرمجة " روبي " Ruby Programming Language I_icon_minitimeالسبت 3 مايو - 10:34

كل ما يخص لغة البرمجة " روبي " Ruby Programming Language 1202763453_51ng5mf-sal._aa240_

Publisher: Addison-Wesley Professional; 1 edition
Language: English
ISBN: 0321490452
Paperback: 384 pages
Data: December 20, 2007
Format: PDF

Description: Most design pattern books are based on C++ and Java. But Ruby is different?and the language's unique qualities make design patterns easier to implement and use. In this book, Russ Olsen demonstrates how to combine Ruby's power and elegance with patterns, and write more sophisticated, effective software with far fewer lines of code.

After reviewing the history, concepts, and goals of design patterns, Olsen offers a quick tour of the Ruby language?enough to allow any experienced software developer to immediately utilize patterns with Ruby. The book especially calls attention to Ruby features that simplify the use of patterns, including dynamic typing, code closures, and "mixins" for easier code reuse.

Fourteen of the classic "Gang of Four" patterns are considered from the Ruby point of view, explaining what problems each pattern solves, discussing whether traditional implementations make sense in the Ruby environment, and introducing Ruby-specific improvements. You'll discover opportunities to implement patterns in just one or two lines of code, instead of the endlessly repeated boilerplate that conventional languages often require.

Design Patterns in Ruby also identifies innovative new patterns that have emerged from the Ruby community. These include ways to create custom objects with metaprogramming, as well as the ambitious Rails-based "Convention Over Configuration" pattern, designed to help integrate entire applications and frameworks.

Engaging, practical, and accessible, Design Patterns in Ruby will help you build better software while making your Ruby programming experience more rewarding.

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]
الرجوع الى أعلى الصفحة اذهب الى الأسفل
YeHi@$MmZ
مراقب عام منتدى أقسام الكليه ومشرف قسمى حاسبات وكورسات هندسيه
مراقب عام منتدى أقسام الكليه ومشرف قسمى حاسبات وكورسات هندسيه
YeHi@$MmZ


عدد المساهمات : 5020
تاريخ التسجيل : 25/06/2007
العمر : 37
الموقع : سرى
رقم العضوية : 10
Upload Photos : كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Upload

كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Empty
مُساهمةموضوع: رد: كل ما يخص لغة البرمجة " روبي " Ruby Programming Language   كل ما يخص لغة البرمجة " روبي " Ruby Programming Language I_icon_minitimeالسبت 3 مايو - 10:37

كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Ruby


Michael Fitzgerald, "Learning Ruby"
O'Reilly Media | ISBN: 0596529864 | May 14, 2007 | 275 pages | CHM | 1.7MB



You don't have to know everything about a car to drive one, and you don't need to know everything about Ruby to start programming with it. Written for both experienced and new programmers alike, Learning Ruby is a just-get-in-and-drive book -- a hands-on tutorial that offers lots of Ruby programs and lets you know how and why they work, just enough to get you rolling down the road. Interest in Ruby stems from the popularity of Rails, the web development framework that's attracting new devotees and refugees
from
</FONT> and PHP. But there are plenty of other uses for this versatile language. The best way to learn is to just try the code! You'll find examples on nearly every page of this book that you can imitate and hack.</FONT>

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]
الرجوع الى أعلى الصفحة اذهب الى الأسفل
YeHi@$MmZ
مراقب عام منتدى أقسام الكليه ومشرف قسمى حاسبات وكورسات هندسيه
مراقب عام منتدى أقسام الكليه ومشرف قسمى حاسبات وكورسات هندسيه
YeHi@$MmZ


عدد المساهمات : 5020
تاريخ التسجيل : 25/06/2007
العمر : 37
الموقع : سرى
رقم العضوية : 10
Upload Photos : كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Upload

كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Empty
مُساهمةموضوع: رد: كل ما يخص لغة البرمجة " روبي " Ruby Programming Language   كل ما يخص لغة البرمجة " روبي " Ruby Programming Language I_icon_minitimeالسبت 3 مايو - 10:43

كل ما يخص لغة البرمجة " روبي " Ruby Programming Language 51VXRJ1Z0AL._BO2,204,203,200_PIlitb-dp-500-arrow,TopRight,45,-64_OU01_AA240_SH20_


The Ruby Way assumes that the reader is already familiar with the subject matter. Using many code samples it focuses on "how-to use Ruby" for specific applications, either as a stand-alone language, or in conjunction with other languages.


[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

0.5 MB
الرجوع الى أعلى الصفحة اذهب الى الأسفل
YeHi@$MmZ
مراقب عام منتدى أقسام الكليه ومشرف قسمى حاسبات وكورسات هندسيه
مراقب عام منتدى أقسام الكليه ومشرف قسمى حاسبات وكورسات هندسيه
YeHi@$MmZ


عدد المساهمات : 5020
تاريخ التسجيل : 25/06/2007
العمر : 37
الموقع : سرى
رقم العضوية : 10
Upload Photos : كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Upload

كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Empty
مُساهمةموضوع: رد: كل ما يخص لغة البرمجة " روبي " Ruby Programming Language   كل ما يخص لغة البرمجة " روبي " Ruby Programming Language I_icon_minitimeالسبت 3 مايو - 10:58

Ruby on Rails For Dummies

كل ما يخص لغة البرمجة " روبي " Ruby Programming Language 5127VkAT6GL._SL500_BO2,204,203,200_PIsitb-dp-500-arrow,TopRight,45,-64_OU01_AA240_SH20_


[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]

5MB
الرجوع الى أعلى الصفحة اذهب الى الأسفل
amir
عضو بدرجة مهندس إستشارى
عضو بدرجة مهندس إستشارى
amir


عدد المساهمات : 1687
تاريخ التسجيل : 12/11/2007
العمر : 37
الموقع : computrs laps
رقم العضوية : 236
Upload Photos : كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Upload

كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Empty
مُساهمةموضوع: رد: كل ما يخص لغة البرمجة " روبي " Ruby Programming Language   كل ما يخص لغة البرمجة " روبي " Ruby Programming Language I_icon_minitimeالسبت 3 مايو - 13:09

YeHi@$MmZ كتب:

مثال بسيط لكتابة Hello world
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]


1- يعني هو عرف كلاس اسمها greeter
2- وفيها كونستراكتور (دالة بناء) بتاخد متغير واحد name
3- وبعد كده بتحول الحروف لكابيتال


4 - بعد كدة تعرف دالة اسمها salute
5 - تطبع علي الشاشة كلمة HELLO وجنبها الاسم name

6- هو عمل أوبجكت g من الكلاس greeter وبعت لها كلمة word عشان تتحط تتحول لكابيتال WORLD وتتحط في المتغير name

7- أخيرا طلب تنفيذ الدالة salute اللي هاتطبع كلمة HELLO جنب الكلمة اللي موجودة في المتغير name وهي
WORLD

لغة حلوة والله مش وحشة عقبال كده ماتجيب لنا لغة إليسا.
الرجوع الى أعلى الصفحة اذهب الى الأسفل
YeHi@$MmZ
مراقب عام منتدى أقسام الكليه ومشرف قسمى حاسبات وكورسات هندسيه
مراقب عام منتدى أقسام الكليه ومشرف قسمى حاسبات وكورسات هندسيه
YeHi@$MmZ


عدد المساهمات : 5020
تاريخ التسجيل : 25/06/2007
العمر : 37
الموقع : سرى
رقم العضوية : 10
Upload Photos : كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Upload

كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Empty
مُساهمةموضوع: رد: كل ما يخص لغة البرمجة " روبي " Ruby Programming Language   كل ما يخص لغة البرمجة " روبي " Ruby Programming Language I_icon_minitimeالسبت 3 مايو - 14:36

توقع جيد لسير البرنامج

وانت حتقول فيهااااااا

حجيبها لك Laughing
الرجوع الى أعلى الصفحة اذهب الى الأسفل
osama jaber
كبير مهندسين
كبير مهندسين
osama jaber


عدد المساهمات : 472
تاريخ التسجيل : 02/11/2007
العمر : 36
رقم العضوية : 186
Upload Photos : كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Upload

كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Empty
مُساهمةموضوع: رد: كل ما يخص لغة البرمجة " روبي " Ruby Programming Language   كل ما يخص لغة البرمجة " روبي " Ruby Programming Language I_icon_minitimeالجمعة 9 مايو - 19:18

الف شكر ليك يبشمهندس يحى
واسف لانى اتاخرت فى الرد
الرجوع الى أعلى الصفحة اذهب الى الأسفل
PRINCESS
مشرف عام على الأقسام ومشرفة قسم إسلاميــات وكورسات هندسيه
مشرف عام على الأقسام ومشرفة قسم إسلاميــات وكورسات هندسيه
PRINCESS


عدد المساهمات : 2385
تاريخ التسجيل : 28/06/2007
العمر : 35
الموقع : جامعة أسوان
رقم العضوية : 19
Upload Photos : كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Upload

كل ما يخص لغة البرمجة " روبي " Ruby Programming Language Empty
مُساهمةموضوع: رد: كل ما يخص لغة البرمجة " روبي " Ruby Programming Language   كل ما يخص لغة البرمجة " روبي " Ruby Programming Language I_icon_minitimeالجمعة 9 مايو - 20:13

طب والله لذيذة وشكلها سهل
انا فهمت معظم الكلام
وفهمت البرنامج من شرح امير
تعظيم سلام
بس انا عندي سؤال
هو ما كانش يقدر يكتب كلمة WORLD كابيتال جنب كلمة Hello
وكان يكتبها في الكنستراكتور علي طول او يكتبه في الميثود
وهل كان ينفع نشيل كل الكلام ده
ونكتب امر يطبع الجملة علي طول
الرجوع الى أعلى الصفحة اذهب الى الأسفل
http://www.aswu.edu.eg
 
كل ما يخص لغة البرمجة " روبي " Ruby Programming Language
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» VTC Assembly Language Programming
»  مقدمةٌ عن البرمجة الكائنية object oriented programming OOP
» مقدمة بسيطة عن الحوسبة computing و البرمجة programming
» بنك الأفكار الخاص: ترجمة الورقة العلمية Why Pascal is Not My Favorite Programming Language
» ال OOP ــــــــــ Object Oriented Programming ///// البرمجة الموجهة بالكائنات _ باستخدام c++ _ موضوع موسوعى _

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتدى طلبة كلية الهندسه بأسوان :: هندسة الحاسبات والنظم :: البرمجة Programming-
انتقل الى: