Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

المعامل الثلاثي (Ternary Operator)

جزء من قسم المنطق وتدفق العمليات في رحلة Ruby على Coddy. الدرس 40 من 56.

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

age = 20
status = age >= 18 ? "Eligible" : "Not Eligible"
puts status   # Eligible

هذا يعادل كتابة:

status = if age >= 18
           "Eligible"
         else
           "Not Eligible"
         end

استخدم المعامل الثلاثي (ternary) عندما تُرجع كلتا الشعبتين قيمًا قصيرة. إذا كانت أي من الشعبتين تحتاج إلى أكثر من تعبير واحد، فارجع إلى if/else حقيقية: فحشر الكثير من الأشياء في المعامل الثلاثي يجعل قراءته صعبة.

يمكنك استخدامه مباشرة داخل تعبيرات أخرى، بما في ذلك الاستيفاء (interpolation):

count = 1
puts "#{count} item#{count == 1 ? "" : "s"}"   # 1 عنصر
count = 5
puts "#{count} item#{count == 1 ? "" : "s"}"   # 5 عناصر
challenge icon

التحدي

سهل

اقرأ عددًا صحيحًا n من المدخلات. باستخدام المعامل الثلاثي (بدون كتل if/else)، اطبع بالضبط:

<n> is <label>

حيث label هو:

  • positive عندما يكون n > 0
  • negative عندما يكون n < 0
  • zero عندما يكون n == 0

تلميح: استخدم المعامل الثلاثي المتداخل، condition ? a : (other_condition ? b : c).

للمدخل 5 يكون المخرج 5 is positive. وللمدخل 0 يكون 0 is zero.

جرّب بنفسك

n = gets.to_i

# TODO: استخدم تعبيرًا ثلاثيًا لبناء التسمية، ثم puts
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

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

تدرّب بنفسك: مترجم Ruby عبر الإنترنت