لغة برمجة دينامكية و مفتوحة المصدر تركز علي البساطة و الانتاجية. و كود الروبي يمتاز بالأناقة التي تجعل قرائته و كتابته بالامر البسيط.

مثال :-

# 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/

لتجربتها و مشاهدتها