روبي مشروط
تقدم روبي عدة ثوابت الشرطية المشتركة. هنا سوف نقوم بشرح كل العبارات الشرطية ومعدلات روبي المتاحة.
روبيإذا ... بيان آخر
قواعد
if conditional [then] code... [elsif conditional [then] code...]... [else code...] end
إذاالتعبير عن التنفيذ المشروط. قيمةزائفةولا شيء كاذبة، قيم أخرى صحيحة. يرجى ملاحظة، روبي استخدام elsif، بدلا من استخدام آخر إذا وأليف.
إذا كانمشروطاصحيح، ثمرمز.إذا كانمشروطاليس صحيحا، يتم تنفيذ بند آخر المحدد فيالتعليمات البرمجية.
ونحن عادة حذف كلمة محجوزة ذلك الحين. إذا كنت تريد أن تكتب كاملة إذا الصيغة في صف واحد، ثم يجب أن تكون مفصولة نوع وشروط الكتل البرنامج. على النحو التالي:
if a == 4 then a = 7 end
أمثلة
#!/usr/bin/ruby # -*- coding: UTF-8 -*- x=1 if x > 2 puts "x 大于 2" elsif x <= 2 and x!=0 puts "x 是 1" else puts "无法得知 x 的值" end
أمثلة من إخراج أعلاه:
x 是 1
روبيإذا المعدلات
قواعد
code if condition
إذا كانت العبارة تعني أنه عندما تعدل إلا إذا كانت الشروط على حق إنشاء إذا كان تنفيذ التعبير الأيسر. وهذا هو، إذا كانمشروطاصحيح، ثمرمز.
أمثلة
#!/usr/bin/ruby $debug=1 print "debug\n" if $debug
أمثلة من إخراج أعلاه:
debug
روبيإلا البيان
قواعد
unless conditional [then] code [else code ] end
إلا الصيغة التي تعمل على عكس وإذا، وهذا هو، إذا كانمشروطاغير صحيح، ثم تنفيذالتعليمات البرمجية.إذا كانمشروطاصحيح، يتم تنفيذ بند آخر المحدد فيالتعليمات البرمجية.
أمثلة
#!/usr/bin/ruby # -*- coding: UTF-8 -*- x=1 unless x>2 puts "x 小于 2" else puts "x 大于 2" end
إخراج المثال أعلاه هو:
x 小于 2
روبيما لم المعدلات
قواعد
code unless conditional
إذا كانمشروطاغير صحيح، تنفيذالتعليمات البرمجية.
أمثلة
#!/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 ] end
حالةالتعبيرعن المباراة الأولى القاضي، ثم تتفرع على نتيجة المباراة.
ويستخدم مشغل=== للمقارنة عندالتعبير محددة،إذا متسقة، ثم تنفيذ المحتوى عندالباب.
ونحن عادة حذف كلمة محجوزة ذلك الحين. إذا كنت تريد أن تكتب كاملة عندما الصيغة في صف واحد، ثم يجب أن تكون مفصولة نوع وشروط الكتل البرنامج. على النحو التالي:
when a == 4 then a = 7 end
لذلك:
case expr0 when expr1, expr2 stmt1 when expr3, expr4 stmt2 else stmt3 end
تشبه إلى حد كبير:
_tmp = expr0 if expr1 === _tmp || expr2 === _tmp stmt1 elsif expr3 === _tmp || expr4 === _tmp stmt2 else stmt3 end
أمثلة
#!/usr/bin/ruby # -*- coding: UTF-8 -*- $age = 5 case $age when 0 .. 2 puts "婴儿" when 3 .. 6 puts "小孩" when 7 .. 12 puts "child" when 13 .. 18 puts "少年" else puts "其他年龄段的" end
إخراج المثال أعلاه هو:
小孩
عندما تم حذف "التعبير" جزء من القضية، وحالة الحساب عند جزء من التعبير الحقيقي.
foo = false bar = true quu = false case when foo then puts 'foo is true' when bar then puts 'bar is true' when quu then puts 'quu is true' end # 显示 "bar is true"