0Pricing
Ruby Academy · درس

if وunless وternary

أساسيات التفرع

if وunless وternary درس مجاني في Ruby Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ruby Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ruby Academy 4 دروس في المجموع.

أساسيات التفرع

تحتاج البرامج إلى اتخاذ قرارات. في Ruby، تشغّل الكلمة المفتاحية if كتلةً من التعليمات البرمجية فقط عندما يكون الشرط truthy.

يقيّم تعبير if شرطًا، وإذا تحقق الشرط، يشغّل التعليمات البرمجية الواقعة بين if وend.

age = 20
if age >= 18
  puts "You are an adult"
end

if / else

أضيفوا فرع else لمعالجة الحالة التي يكون فيها الشرط false. يُشغَّل فرع واحد فقط.

age = 12
if age >= 18
  puts "Adult"
else
  puts "Minor"
end

سلاسل elsif

استخدموا elsif لاختبار عدة شروط بالترتيب. تتحقق Ruby منها من الأعلى إلى الأسفل، وتشغّل أول شرط مطابق.

  • انتبهوا إلى التهجئة: elsif، وليست elseif أو else if.
score = 75
if score >= 90
  puts "A"
elsif score >= 70
  puts "B"
elsif score >= 50
  puts "C"
else
  puts "F"
end

if تعبير

في Ruby، كل شيء تقريبًا هو تعبير يعيد قيمة. يعيد if قيمة الفرع الذي تم تشغيله، ولذلك يمكنكم إسنادها إلى متغير.

age = 20
status = if age >= 18
  "adult"
else
  "minor"
end
puts status

المعدّل if

بالنسبة إلى تعليمة قصيرة واحدة، ضعوا if في نهاية السطر. تبدو هذه الصياغة شبيهة باللغة الطبيعية، وهي شائعة جدًا في أسلوب Ruby الاصطلاحي.

temperature = 35
puts "It is hot!" if temperature > 30

تعرّفوا على unless

يمثّل unless عكس if: فهو يشغّل جسمه عندما يكون الشرط false. فكّروا في unless x على أنه if !x.

logged_in = false
unless logged_in
  puts "Please log in"
end

المعدّل unless

مثل if، يعمل unless أيضًا كمعدّل في نهاية السطر للتعليمات المكوّنة من سطر واحد.

stock = 0
puts "Out of stock" unless stock > 0

تجنبوا unless مع else

يمكن أن يحتوي unless على else، لكن قراءة ذلك تصبح مربكة بسرعة. فضّلوا استخدام if العادي عندما تحتاجون إلى كلا الفرعين.

active = false
unless active
  puts "Inactive"
else
  puts "Active"
end
# Clearer as a normal if/else

المعامل الثلاثي

المعامل الثلاثي هو صيغة مختصرة من if/else لإرجاع قيمة واحدة. الصياغة: condition ? value_if_true : value_if_false.

age = 20
label = age >= 18 ? "adult" : "minor"
puts label

المعامل الثلاثي داخل السلاسل النصية

يكون المعامل الثلاثي مفيدًا خصوصًا داخل استيفاء السلاسل النصية، حيث لا تلائم صيغة if/else الكاملة المكان بطريقة واضحة.

count = 1
puts "You have #{count} item#{count == 1 ? "" : "s"}"

متى تستخدمون كل صيغة؟

دليل سريع:

  • استخدموا if / elsif / else للتفرع العام.
  • استخدموا unless لفحص سلبي واحد يُقرأ بصورة طبيعية.
  • استخدموا المعامل الثلاثي للاختيار بين قيمتين بسيطتين.

تأتي سهولة القراءة دائمًا قبل الحيل البرمجية.

n = 7
parity = n.even? ? "even" : "odd"
puts "#{n} is #{parity}"

تحقق سريع

اختبروا فهمكم للتفرع.

مراجعة

لقد تعلمتم أدوات التفرع في Ruby:

  • تشغّل if / elsif / else التعليمات البرمجية بناءً على كون القيمة truthy.
  • يُعد if تعبيرًا يعيد قيمة.
  • تلائم صيغ المعدّلات (do_x if cond) التعليمات القصيرة المكوّنة من سطر واحد.
  • يمثّل unless صيغة if !؛ فاستخدموه للفحوص السلبية الواضحة.
  • يختار المعامل الثلاثي ? : بين قيمتين باختصار.
grade = 88
result = grade >= 60 ? "pass" : "fail"
puts "Result: #{result}"

الأسئلة الشائعة

هل درس «if وunless وternary» مجاني؟

نعم — نص درس «if وunless وternary» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ruby Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ruby Academy 4 دروس في المجموع.

ماذا ستتعلم في «if وunless وternary»؟

أساسيات التفرع تتمرن على Ruby Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Ruby Academy؟

لا تُشترط خبرة سابقة. Ruby Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.

كم من الوقت يستغرق درس «if وunless وternary»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Ruby Academy هذا؟

نعم. كل درس في Ruby Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. if وunless وternary
  2. تعبيرات case/when
  3. القيم المنطقية في Ruby
  4. عبارات الحراسة
← العودة إلى Ruby Academy