Latest web development tutorials

Ruby bersyarat

Ruby menyediakan beberapa konstruksi kondisional umum. Di sini kita akan menjelaskan semua pernyataan bersyarat dan pengubah Ruby tersedia.

Rubyjika ... pernyataan lain

tatabahasa

if conditional [then]
	  code...
[elsif conditional [then]
	  code...]...
[else
	  code...]
end

jikaungkapan untuk eksekusi kondisional. Nilaipalsudannihilpalsu, nilai-nilai lain benar. Harap dicatat, Ruby menggunakan elsif, daripada menggunakan lain jika dan Elif.

Jikabersyaratbenar, makakode.Jikakondisionaltidak benar, klausul lain yang ditentukan dalamkodedijalankan.

Kami biasanya menghilangkan kata reserved kemudian. Jika Anda ingin menulis lengkap jika rumus berturut-turut, maka Anda harus dipisahkan menurut jenis dan kondisi dari blok program yang. Sebagai berikut:

if a == 4 then a = 7 end

contoh

#!/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 output di atas:

x 是 1

Rubyjika pengubah

tatabahasa

code if condition

jika frase berarti bahwa ketika dimodifikasi hanya jika kondisi di kanan pendirian jika kiri eksekusi ekspresi. Artinya, jikabersyaratbenar, makakode.

contoh

#!/usr/bin/ruby

$debug=1
print "debug\n" if $debug

Contoh output di atas:

debug

Rubykecuali pernyataan

tatabahasa

unless conditional [then]
   code
[else
   code ]
end

kecuali formula sebaliknya bertindak dan jika, yaitu, jikakondisionaladalah palsu, maka mengeksekusikode.Jikabersyaratbenar, klausul lain yang ditentukan dalamkodedijalankan.

contoh

#!/usr/bin/ruby
# -*- coding: UTF-8 -*-

x=1
unless x>2
   puts "x 小于 2"
 else
  puts "x 大于 2"
end

Contoh di atas output:

x 小于 2

Rubykecuali pengubah

tatabahasa

code unless conditional

Jikakondisionaladalah palsu, mengeksekusikode.

contoh

#!/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 output di atas:

1 -- 这一行输出
3 -- 这一行输出

pernyataan kasusRuby

tatabahasa

case expression
[when expression [, expression ...] [then]
   code ]...
[else
   code ]
end

ekspresikasus pertandingan pertama hakim, kemudian cabang pada hasil pertandingan.

Menggunakan operator=== untuk membandingkan ketikaekspresiyangditentukan,jika konsisten, maka pelaksanaan konten ketikabagian.

Kami biasanya menghilangkan kata reserved kemudian. Jika Anda ingin menulis lengkap ketika rumus berturut-turut, maka Anda harus dipisahkan menurut jenis dan kondisi dari blok program yang. Sebagai berikut:

when a == 4 then a = 7 end

Oleh karena itu:

case expr0
when expr1, expr2
   stmt1
when expr3, expr4
   stmt2
else
   stmt3
end

Hakekatnya sama:

_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

Contoh di atas output:

小孩

Ketika "ekspresi" bagian dari kasus ini dihilangkan, kondisi perhitungan ketika bagian dari ekspresi yang benar.

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"