if durumu hangi koşulun sağlandığına bağlı olarak farklı eylemleri yapmanıza olanak tanır. Örneğin:
drinking_age = 19
else
drinking_age = 21
end
Bu şunu söyler:
Ruby true ve false için bir görüşe sahiptir. Bu en iyi şekilde örnekler ile açıklanabilir. irb'yi başlatıp şunları yazınız:
if deyimi ifadenin ( örneğin 'city == "Toronto") true ya da false olmasına göre farklı değerler alır.
|
Uyarı: '=' ve '==' arasındaki farka dikkat edin. '=' atama operatörüdür. '==' karşılaştırma operatörüdür. |
Burada bazı en bilindik koşulların bir listesi var:
| == | eşit |
| != | eşit değil |
| > | büyük |
| < | küçük |
| >= | büyük veya eşit |
| <= | küçük veya eşit |
Bu operatörler dizgeler ile nasıl kullanılır?
ASCIIbetical sıralama nedir? ASCII karakter tablosu klavyedeki tüm karakterleri içerir. Bu karakterleri şu sıra ile listeler:
...012...789...ABC...XYZ...abc...xyz...
irb'yi çalıştırın ve şunları yazın:
| Not:irb'nin çalışmaları nasıl kolaylaştırdığına dikkat edin. Sizde bu gibi noktaları ilk defa irb üzerinde demenelisiniz. irb kullanımınızı bekleyen harika bir araçtır. |
elsif birden fazla koşulu kontrol etmenize olanak tanır. Şu örneği inceleyin:
if age >= 60
puts "Senior fare"
elsif age >= 14
puts "Adult fare"
elsif age > 2
puts "Child fare"
else
puts "Free"
end
Örneği gözden geçirelim:
Ruby bu koşullar kısmını birer birer göszden geçirir. İstediğiniz sayıda elsif deyimi kullanabilirsiniz.
Bazı noktaları daha açık hale getirmek için bu programı inceleyelim. Program yaşınızı soruyor ve cevabınızla ilintili olarak size bir ödenek tipi veriyor.
Bunu yazın ve programı çalıştırın. Aşağıdaki gibi bir ekranla karşılaşmanız gerekir:
| Uyarı: elsif deyimini kullandığınız sıra için dikkatli olun. Sadece doğru olan ilk koşul çalıştırılacaktır. Bu örnek tehlikeyi örnekler: |
age = 21
if age > 5
puts "Older than 5"
elsif age > 10
puts "Older than 10"
elsif age > 20
puts "Older than 20"
elsif age > 30
puts "Older than 30"
end
Bu programın çıktısı şudur:
$ ./example.rb
Older than 5
$
Burada age hem 10'dan hem de 20'den büyüktür. Sadece doğru olan ilk koşul çalıştırılmıştır.
Bu programın doğru şekilde yazılmışı şöyledir:
if age > 30
puts "Older than 30"
elsif age > 20
puts "Older than 20"
elsif age > 10
puts "Older than 10"
elsif age > 5
puts "Older than 5"
end
Bu karakterleri ASCIIbetical sırada tekrardan düzenleyin:
2, u, A, 4, w, f, R, y
The ASCII tablosu klavyedeki tüm karakterleri içerir.irb kullanarak aşağıdaki tabloya uyan karakterleri bulunuz.
Bir önceki sorudaki deneyiminizi kullanarak, karakter girdisi yapan ve aşağıdaki tablo içerisinde olup olmadığını söyleyen bir program yazın:
Prgoramı şu karkaterler için test edin:
$, +, ?, <, -, ~, :, %, ^, {, [