Penghakiman bersyarat Ruby
Ruby menyediakan beberapa struktur bersyarat yang sangat biasa. Di sini, kami akan menerangkan semua pernyataan bersyarat dan pengubah suai yang tersedia dalam Ruby.
Ruby if...else Pernyataan
Sintaks
if conditional [then] code... [elsif conditional [then] code...]... [else code...] end
if Ungkapan digunakan untuk pelaksanaan bersyarat. Nilai false dan nil adalah palsu dan semua nilai lain adalah benar. Ambil perhatian bahawa Ruby menggunakan elsif, tidak lain jika dan elif.
Jika bersyarat adalah benar, laksanakan kod. Jika bersyarat tidak benar, laksanakan kod yang dinyatakan dalam klausa else.
Biasanya kita tinggalkan perkataan terpelihara kemudian . Jika anda ingin menulis formula if lengkap dalam satu baris, anda mesti memisahkan formula bersyarat dan blok program dengan kemudian. Seperti yang ditunjukkan di bawah:
if a == 4 then a = 7 end
instance
#!/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
Contoh hasil output di atas:
x 是 1
Ruby if pengubah suai
Tatabahasa
code if condition
Frasa pengubah suai if bermaksud formula di sebelah kiri if hanya akan dilaksanakan apabila syarat di sebelah kanan if adalah benar. Iaitu, jika bersyarat adalah benar, laksanakan kod.
Instance
#!/usr/bin/ruby $debug=1 print "debug\n" if $debug
Contoh hasil output di atas:
debug
Ruby melainkan Kenyataan
Sintaks
unless conditional [then] code [else code ] end
melainkan dan jika mempunyai kesan yang bertentangan, iaitu, jika bersyarat palsu, maka kod akan dilaksanakan. Jika bersyarat adalah benar, laksanakan kod yang dinyatakan dalam klausa else.
Instance
#!/usr/bin/ruby # -*- coding: UTF-8 -*- x=1 unless x>2 puts "x 小于 2" else puts "x 大于 2" end
Hasil keluaran contoh di atas ialah:
x 小于 2
Ruby melainkan Pengubah suai
Sintaks
code unless conditional
Jika bersyarat palsu, laksanakan kod.
Instance
#!/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
Contoh hasil output di atas:
1 -- 这一行输出 3 -- 这一行输出
Ruby kes Kenyataan
Sintaks
case expression [when expression [, expression ...] [then] code ]... [else code ] end
kes mula-mula melakukan penghakiman padanan pada ungkapan, dan kemudian melaksanakan pemilihan cawangan berdasarkan hasil padanan.
Ia menggunakan operator === untuk membandingkan ungkapan yang ditentukan oleh bila jika ia konsisten, apabila bahagian dilaksanakan kandungan.
Biasanya kita tinggalkan perkataan terpelihara kemudian . Jika anda ingin menulis formula apabila lengkap dalam satu baris, anda mesti memisahkan ungkapan bersyarat dan blok program dengan kemudian. Seperti ini:
when a == 4 then a = 7 end
Jadi:
case expr0 when expr1, expr2 stmt1 when expr3, expr4 stmt2 else stmt3 end
Pada asasnya seperti:
_tmp = expr0 if expr1 === _tmp || expr2 === _tmp stmt1 elsif expr3 === _tmp || expr4 === _tmp stmt2 else stmt3 end
Contoh
#!/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
Di Atas Contoh hasil keluaran ialah:
小孩
Apabila bahagian "ungkapan" kes itu ditinggalkan, bahagian pertama apabila bahagian keadaan ialah ungkapan benar akan dikira.
rreeee