English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
يقدم Ruby أنواعًا متعددة من بنيات الشروط الشائعة. هنا، سنشرح جميع جمل الشروط والمزادات المتاحة في Ruby.
if شرط [then] code... [elsif شرط [then] code...]... [else code...] انتهاء
x هو 1 تُستخدم التعبيرات لتنفيذ الشروط. القيم false و nil إذا كان خطأ، فإن جميع القيم الأخرى تعتبر صحيحة. يرجى ملاحظة أن Ruby تستخدم elsif وليس else if أو elif.
إذا الشروط كلمة if المعدلة تعني أن يتم تنفيذ الجملة على يسار if إذا كان الشرط على اليمين صحيحًا. أي إذا code. إذا كانت unless وال if العكس، أي إذا الشروط إذا لم يكن صحيحًا، يتم تنفيذ الجملة المحددة في else. code.
عادة نتجاهل الكلمة الحجزية then. إذا كنت ترغب في كتابة تعبير if كاملاً في سطر واحد، يجب استخدام then لفصل الشروط والنص البرمجي. مثلما هو موضح أدناه:
if a == 4 then a = 7 end
#!/usr/bin/ruby # -*- coding: UTF-8 -*- x=1 if x > 2 puts "x أكبر من 2" elsif x <= 2 و x != 0 puts "x هو 1" أو puts "لا يمكن معرفة قيمة x" انتهاء
نتائج النموذج أعلاه:
x 是 1
if
code if الشروط الشروط كلمة if المعدلة تعني أن يتم تنفيذ الجملة على يسار if إذا كان الشرط على اليمين صحيحًا. أي إذا code.
#!/usr/bin/ruby إذا كانت صحيحة، فتنفذ $debug=1
نتائج النموذج أعلاه:
print "تحقق\n" if $debug
التحقق code [else code ] انتهاء
unless الشروط [then] الشروط إذا كانت صحيحة، فتنفذ code. إذا كانت unless وال if العكس، أي إذا الشروط إذا كانت صحيحة، فتنفذ فقرة else المحددة code.
#!/usr/bin/ruby # -*- coding: UTF-8 -*- x=1 unless x>2 puts "x أقل من 2" أو puts "x أكبر من 2" انتهاء
نتائج الطباعة في المثال أعلاه هي:
x أقل من 2
code unless الشروط
إذا الشروط إذا كانت صحيحة، فتنفذ code.
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $var = 1 print "1 -- هذا السطر ينشأ\n" if $var print "2 -- هذا السطر لا ينشأ\n" unless $var $var = false print "3 -- هذا السطر ينشأ\n" unless $var
نتائج النموذج أعلاه:
1 -- هذا السطر ينشأ 3 -- هذا السطر ينشأ
case expression [when expression [, expression ...] [then] code ]... [else code ] انتهاء
case يحدد أولاً expression للمطابقة وال�断ة، ثم يختار الفرع بناءً على نتائج المطابقة.
يستخدم ===مقارنة العملية when المحدد expression، إذا كانت متطابقة فتنفذ when جزء من المحتوى.
عادةً نتجنب الكلمة المفتاحية then. إذا كنت تريد كتابة when الكامل في سطر واحد، فيجب أن تكون then تفصل بين الشرط ومقطع الكود. كما يلي:
when a == 4 then a = 7 end
لذلك:
case expr0 when expr1, expr2 stmt1 when expr3, expr4 stmt2 أو stmt3 انتهاء
أساساً يشبه:
_tmp = expr0 if expr1 === _tmp || expr2 === _tmp stmt1 elsif expr3 === _tmp || expr4 === _tmp stmt2 أو stmt3 انتهاء
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $age = 5 حالة $age عندما يكون 0 .. 2 طبع "طفل رضيع" عندما يكون 3 .. 6 طبع "طفل" عندما يكون 7 .. 12 طبع "child" عندما يكون 13 .. 18 طبع "شاب" أو طبع "أعمار أخرى" انتهاء
نتائج الطباعة في المثال أعلاه هي:
طفل
عندما يتم تجاهل جزء "التعبير" من حالة، سيتم حساب التعبير الأول من شرط when يكون صحيحًا.
foo = خطأ bar = صحيح quu = خطأ حالة عندما foo ثم طبع 'foo هو صحيح' عندما bar ثم طبع 'bar هو صحيح' عندما quu ثم طبع 'quu هو صحيح' انتهاء # عرض "bar هو صحيح"