المقدمة
برنامج “مرحباً، عالم!” هو تقليد كلاسيكي ومحترم في برمجة الحاسوب. إنه برنامج صغير وكامل للمبتدئين، وهو وسيلة جيدة للتأكد من تكوين بيئتك بشكل صحيح.
سيقوم هذا البرنامج التعليمي بإرشادك خلال إنشاء هذا البرنامج باستخدام لغة Ruby. ومع ذلك، لجعل البرنامج أكثر إثارة، ستقوم بتعديل البرنامج التقليدي “مرحباً، عالم!” بحيث يطلب من المستخدم اسمه. ثم ستستخدم الاسم في التحية. عند الانتهاء من البرنامج التعليمي، ستمتلك برنامج يبدو مثل هذا عند تشغيله:
OutputPlease enter your name.
Sammy
Hello, Sammy! I'm Ruby!
المتطلبات المسبقة
يجب أن يكون لديك بيئة تطوير Ruby محلية مُعدة على جهاز الكمبيوتر الخاص بك. قم بإعدادها عن طريق اتباع أحد هذه البرامج التعليمية:
- كيفية تثبيت Ruby وإعداد بيئة برمجية محلية على macOS
- كيفية تثبيت Ruby وإعداد بيئة برمجة محلية على Ubuntu 16.04
- كيفية تثبيت Ruby وإعداد بيئة برمجة محلية على Windows 10
الخطوة 1 — كتابة برنامج “مرحبًا، العالم!” الأساسي
لكتابة برنامج “مرحبًا، العالم!”، قم بفتح محرر نص سطر الأوامر مثل nano
وأنشئ ملفًا جديدًا:
- nano hello.rb
بمجرد فتح الملف النصي في نافذة الطرفية، ستقوم بكتابة برنامجك:
puts "Hello, World!"
دعنا نقسم مكونات الكود المختلفة.
puts
هو أسلوب Ruby الذي يخبر الكمبيوتر بطباعة نص معين على الشاشة.
يتبع الأسلوب puts
ثم تسلسل من الأحرف — مرحبًا، العالم!
، محاطة بعلامات اقتباس. أي أحرف موجودة داخل علامات الاقتباس تُسمى سلسلة. سيقوم أسلوب puts
بطباعة هذه السلسلة على الشاشة عند تشغيل البرنامج.
بعض الطرق، مثل طريقة puts
، مضمنة في Ruby بشكل افتراضي. هذه الطرق المضمنة متاحة دائمًا عند إنشاء برامج Ruby. يمكنك أيضًا تعريف طرق خاصة بك.
احفظ واخرج من nano
عن طريق كتابة مفاتيح CONTROL
و X
، وعندما يُطلب منك حفظ الملف، اضغط على y
واضغط على ENTER
.
لنجرب برنامجك.
الخطوة 2 — تشغيل برنامج Ruby
بعد كتابة برنامج “مرحبًا، عالم!”، أنت جاهز لتشغيل البرنامج. ستستخدم الأمر ruby
، تليه اسم الملف الذي أنشأته للتو.
- ruby hello.rb
سيقوم البرنامج بالتنفيذ وعرض هذه النتيجة:
OutputHello, World!
لنستكشف ما حدث فعليًا.
تشغيل الأمر ruby
قام بتشغيل مفسر Ruby. قرأ مفسر Ruby الملف الذي حددته وقيم محتوياته. نفذ السطر puts "مرحبًا، عالم!"
عن طريق استدعاء الدالة puts
. تم تمرير قيمة السلسلة مرحبًا، عالم!
إلى الدالة.
في هذا المثال، تُسمى السلسلة مرحبًا، عالم!
أيضًا بالمُعطى لأنها قيمة تُمرر إلى الطريقة.
الاقتباسات التي تظهر على كلا الجانبين من Hello, World!
لم يتم طباعتها على الشاشة لأنها تُستخدم لإخبار Ruby بأنها تحتوي على سلسلة نصية. تُحدد علامات التنصيص المكان الذي تبدأ فيه وتنتهي السلسلة.
البرنامج يعمل، ولكن يمكنك جعله أكثر تفاعلية. لنستكشف كيف يمكن ذلك.
الخطوة 3 — طلب الإدخال
في كل مرة تقوم فيها بتشغيل البرنامج، ينتج نفس الإخراج. لنطلب من الشخص الذي يقوم بتشغيل البرنامج إدخال اسمه. يمكنك بعد ذلك استخدام هذا الاسم في الإخراج.
بدلاً من تعديل البرنامج الحالي الخاص بك، قم بإنشاء برنامج جديد يسمى greeting.rb
في محرر nano
:
- nano greeting.rb
أولاً، أضف هذا السطر الذي يطلب من المستخدم إدخال اسمه:
puts "Please enter your name."
مرة أخرى، استخدم طريقة puts
لطباعة نص إلى الشاشة.
الآن أضف هذا السطر لالتقاط إدخال المستخدم:
puts "Please enter your name."
name = gets
السطر التالي أكثر تعقيدًا قليلاً. دعونا نفسر ذلك.
تقول طريقة gets
للكمبيوتر أن ينتظر إدخالًا من لوحة المفاتيح. يقوم ذلك بتعليق التنفيذ، مما يسمح للمستخدم بإدخال أي نص يريده. سيستمر البرنامج عندما يضغط المستخدم على مفتاح ENTER
على لوحة المفاتيح. يتم ثم التقاط جميع الضغطات على لوحة المفاتيح، بما في ذلك ضغطة ENTER
، وتحويلها إلى سلسلة من الأحرف.
تريد استخدام تلك الأحرف في إخراج برنامجك، لذا تقوم بحفظ تلك الأحرف عن طريق تعيين السلسلة إلى متغير يُسمى name
. تخزن Ruby تلك السلسلة في ذاكرة الكمبيوتر الخاص بك حتى ينتهي البرنامج.
أخيرًا، أضف هذا السطر لطباعة الإخراج:
puts "Please enter your name."
name = gets
puts "Hi, #{name}! I'm Ruby!"
تستخدم طريقة puts
مرة أخرى، ولكن هذه المرة تستخدم ميزة Ruby المُسماة تضمين السلسلة، التي تتيح لك أخذ القيمة المُسندة إلى متغير ووضعها داخل سلسلة. بدلاً من كلمة name
، ستحصل على القيمة التي حفظتها في متغير name
، والتي يجب أن تكون اسم المستخدم.
احفظ واخرج من nano
عن طريق الضغط على CTRL+X
، ثم اضغط y
عندما يُطلب منك حفظ الملف، ثم اضغط ENTER
.
الآن قم بتشغيل البرنامج بهذا الأمر:
- ruby greeting.rb
سيُطلب منك إدخال اسمك، لذا أدخله واضغط ENTER
. قد لا يكون الإخراج بالضبط كما تتوقع:
OutputPlease enter your name.
Sammy
Hi, Sammy
! I'm Ruby!
بدلاً من Hi, Sammy! I'm Ruby!
، هناك فاصلة سطرية مباشرة بعد الاسم.
قام البرنامج بالتقاط جميع الضغطات على لوحة المفاتيح الخاصة بك، بما في ذلك مفتاح ENTER
الذي ضغطت عليه لتخبر البرنامج بالمتابعة. في سلسلة، يُنشئ الضغط على مفتاح ENTER
حرفًا خاصًا ينشئ سطرًا جديدًا. إن إخراج البرنامج يفعل بالضبط ما قلت له أن يفعله؛ فهو يعرض النص الذي أدخلته، بما في ذلك تلك السطر الجديدة. لكن يمكنك إصلاحه.
افتح ملف greeting.rb
في محرر النصوص الخاص بك:
- nano greeting.rb
ابحث عن هذا السطر في برنامجك:
name = gets
name = gets.chop
تستخدم هذه الطريقة في روبي لطريقة chop
على السلسلة التي تم التقاطها باستخدام gets
. طريقة chop
تزيل آخر حرف من سلسلة. في هذه الحالة، تزيل الطريقة الحرف الجديد في نهاية السلسلة التي تم إنشاؤها عند الضغط على ENTER
.
احفظ واخرج من nano
. اضغط CTRL+X
، ثم اضغط y
عندما يُطلب حفظ الملف.
قم بتشغيل البرنامج مرة أخرى:
- ruby greeting.rb
هذه المرة، بعد إدخال اسمك والضغط على ENTER
، ستحصل على الناتج المتوقع:
OutputPlease enter your name.
Sammy
Hi, Sammy! I'm Ruby!
لديك الآن برنامج Ruby يأخذ الإدخال من المستخدم ويقوم بطباعته على الشاشة.
الاستنتاج
الآن بمعرفتك كيفية طلب الإدخال، معالجة النتائج، وعرض الإخراج، جرب توسيع برنامجك أكثر. على سبيل المثال، اطلب لون المفضل للمستخدم، ولتقول البرنامج أن لونه المفضل هو الأحمر. يمكنك حتى محاولة استخدام نفس التقنية لإنشاء برنامج Mad-Lib بسيط.
Source:
https://www.digitalocean.com/community/tutorials/how-to-write-your-first-ruby-program