Değişken Ruby'nin belirli nesnelerle ilişkilendirdiği bir isimdir. Örneğin:
city = "Toronto"
Burada Ruby "Toronto" dizgesini city ismi(değişkeni) ile ilişkilendirir.
Ruby biri nesnelerden, diğeri onların isimlerinden oluşan iki masa yapar, ve Ruby city değişkeninden "Toronto" dizgesine doğru bir ok çizer gibi de düşünebilirsiniz.
Ruby city ismini oku takip ederek ulaştığı "Toronto" ile ilişkilendirir.
| Dikkat: Değişken isimleri küçük harf ile başlamak zorundadır. |
Değişkenleri nesneleri yönettiğiniz yöntem ile yönetebilirsiniz.
Değişkenler hakkında iyi bir nokta vardır, bilginin izini çok rahatlıkla sürmenize yardım eder. Şu yönergelerin verildiğini düşünelim:
Kesinlikle bunun için uzun bir ifade yazılabilir, ama bu şekilde yazılması daha basittir.
Aşağıdaki örneklerde ifadeleri görebilirsiniz:
num1 = num1 / 5
num2 = num2 - num1
Bu tip ifadeler çok bilindiktir ve Ruby bunun için size bazı kısayollar önerir:
| Örnek | Kısayol | Anlam |
|---|---|---|
| var = var + 2 | var += 2 | var sayısına 2 ekleyin |
| var = var - 3 | var -= 3 | var sayısından 3 çıkarın |
| var = var * 6 | var *= 6 | var sayısını 6 ile çarpın |
| var = var / 2 | var /= 2 | var sayısını 2 ilebölün |
| var = var** 3 | var **=3 | var sayısının kübünü alın |
| var = var % 4 | var %= 4 | var sayısının 4'e göre modülünü alın |
Bu örnekler şu şekilde yazılabilirler
Sabitler değişkenler gibidir. Tek fark olarak Ruby'e sabitlerin değerinin değişemeyeceğini söylüyorsunuz. Eğer bir sabitin değerini değiştirmek isterseniz Ruby sizi uyaracaktır.
Değişken tanımlar gibi sabit tanımlıyorsunuz, tek fark ilk harfinin büyük harf olması gerekiyor.
| Not: City bir "sabittir"dir, bunun değeri hala değiştirilebilir. Sabit olmak sadece değerinin değiştiğinde Ruby'nin sizi uyarması anlamına gelir. Aşağıda görülecektir. |
Bu kısayolların dizgeler için çalışacağını düşünüyor musunuz? Bunu deneyiniz:
var = "hello "
var = var + "world"
var += "world"
Burada ne olacağını düşünüyorsunuz?
string = "hi"
string *= 3
Deneyin ve sonucu nasıl açıklarsınız?