لغة برمجة دينامكية و مفتوحة المصدر تركز علي البساطة و الانتاجية. و كود الروبي يمتاز بالأناقة التي تجعل قرائته و كتابته بالامر البسيط.
مثال :-
# The famous Hello World
# program is trivial in
# Ruby. You don't need:
#
# * a "main" method
# * newline escapes
# * semicolons
#
# Here's the code:
puts "Hello World!"
=================
روبي خلال عشرين دقيقه
================
مُقدمة
هذه عباره عن وثيقة روبي صغيره لا يجب أن تأخد منك أكثر من 20 دقيقه لقرائتها كامله . هي تعتمد علي قيامك بتثبيت روبي بصوره مُسبقه علي جهازك . (إذا لم تكن روبي مثبته علي جهازك قم بتحميلها و تثبيتها قبل البدء في القراءه .)
روبي التفاعليه
تأتي روبي ببرنامج سوف يعرض لك نتيجه فوريه لاي امر تقوم بتزويده به . كتابة أكواد الروبي بطريقه تفاعليه كهذه تعتبر طريقه رائعه لتعلم اللغة .
قم بتشغيل البرنامج الذي تم ذكره والمدعو IRB ( اختصاراً لـ Interactive Ruby ).
* إذا كنت تستخدم Mac OS X قم بتشغيل الـ Terminal ثم قم بكتابة irb , واضغط enter .
* إذا كنت تستخدم Linux , فقم بفتخ نـافذة الـ shell وقم بكتابة irb واضغط enter.
* إذا كنت تستخدم Windows , قم بفتح نافذة الـ fxri من قائمة روبي المنسدله الموجود في قائمة ابدء .
irb(main):001:0>
حسناً, النافذه الآن مفتوحه. ماذا افعل ؟
قم بكتابة : "Hello World"
irb(main):001:0> "Hello World"
=> "Hello World"
روبي تُطيعك !
ماذا حدث ؟ هل قمنا فقط بكتابة اصغر برنامج في العالم وهو “Hello World ” ؟ ليس تماماً . السطر الثاني من النتيجه بالأعلي هو عباره عن طريقه لبرنامج الـ IRB ليخبرنا نتيجة اخر امر قام بمعالجته . إذا اردنا ان نقوم بطباعه العباره ” Hello World ” فنحن بحاجه إلي إضافه صغيره :
irb(main):002:0> puts "Hello World"
Hello World
=> nil
puts هو الأمر الأساسي لطباعة اي نتيجه علي الشاشه. لكن ماذا عن => nil ? هي نتيجة الأمر puts وهي دائماً تُرجع الكلمه nil, فهي قيمه مُطلقه ثابته لا تُعبر عن شئ .
حاسبتك الحره هنا
بالفعل , لدينا الآن ما يكفي لأستخـدام الـ IRB كآله حاسبه صغيره :
irb(main):003:0> 3+2
=> 5
ثلاثه مُضافه اليها أثنين . سهله للغايه . إذن ماذا عن تكرار الرقم أثنين مده ثلاث مرات ؟ تستطيع كتابه هذا بداخل النافذه , انها مهمه صغيره للغايه , ولكنك قد تكون بحاجه إلي الذهاب لأعلي مرة أخري وتغيير ما قمت بادخاله . قم بالضغط علي السهم لأعلي من لوحة المفاتيح وشاهد هل سوف يظهر 3+2 به . إذا ظهرت تستطيع الضغط علي السهم جهة اليسار للتحرك والوقوف قبل العلامه + وبعد ذلك قم بالضغط علي زر الحذف backspace لحذفها و أستبدلها بالعلامه * .
irb(main):004:0> 3*2
=> 6
لننتقل لمرحلة تاليه , لنقوم بتجريب الجذر التربيعي لرقم ثلاثه :
irb(main):005:0> 3**2
=> 9
في روبي العلامه ** تعني “اُس”. لكن ماذا إن اردت طريقه أخري لأيجاد الجذر التربيعي ؟
irb(main):006:0> Math.sqrt(9)
=> 3.0
حسناً , انتظر , ماذا يعني الأمر الأخير ؟ لو قمت بالتخمين أنه “سيعطيك الجذر التربيعي للرقم تسعه” ,إذن فأنت علي صواب . لكن دعنا ننظر عن قرب الي الشفره . مبدئياً ما معني Math ؟
الوحدات (Modules) , ضع الشفرات في مجموعات حسب الموضوع
Math عباره عن وحده ( module ) مبنيه داخل روبي للتعامل مع العمليات الرياضيه . الوحدات تلعب دورين في روبي . الدور الأول : توضع بها الدوال المتشابهه وظيفياً في مجموعات تحت مُسمي مألوف. الوحـده Math يوجد بها دوال مثل sin() و tan().
الجزء الثاني من الكود هي نقطه التوقف (dot) . ما هي وظيفتها ؟ نقطه التوقف تعطي لك إمكانيه تحديد مُستقبل الرساله . وما هي الرساله ؟ في هذه الحاله الرساله هي sqrt(9), التي تعني النداء علي الداله sqrt, اختصاراً لـ “square root” (الجزر التربيعي) مصحوبه بالمعامل 9.
نتيجه النداء علي الداله هي القيمه 3.0 . ربما تلاحظ إن النتيجه ليست 3 . وذلك لأن معظم الأوقات لا تكون نتيجة الجزر التربيعي رقم صحيح , لذلك تُرجع الداله دائماً رقم عشري .
ماذا لو اردنا أن نتذكر نتيجة بعض من تلك العمليات الرياضيه ؟ قم بوضع النتيجه في متغير (variable) .
irb(main):007:0> a = 3 ** 2
=> 9
irb(main):008:0> b = 4 ** 2
=> 16
irb(main):009:0> Math.sqrt(a+b) => 5.0
لتنزيل روبي من هنا
http://www.ruby-lang.org/en/downloads/
لتجربتها و مشاهدتها