İçeriğe atla

Ruby/Değişkenler ve Sabitler

Vikikitap, özgür kütüphane

Rubydeki bir değişken isminin başlangıcındaki karakterlerle ayırt edilebilir. Değişkenin isim uzunluğu konusunda bir sınırlama yoktur. (yığın boyutunu saymazsak).

Yerel Değişkenler

[değiştir]

Örnek:

 falanfilan

İsmi küçük harf (a-z) ya da altçizgi (_) ile başlayan bir değişken, bir yerel değişken ya da metor duasıdır (method invocation).

Bir yerel değişken sadece yüklendiği bloktan erişilebilir. Örneğin:

 i0 = 1
 loop {
   i1 = 2
   print defined?(i0), "\n"	# doğru; çünkü "i0" bu loğu kapsayan yüksek blokta başlatılmıştır
   print defined?(i1), "\n"	# doğru; çünkü "i1" bu blokta başlatılmıştır
   break
 }
 print defined?(i0), "\n"	# doğru; çünkü "i0" bu blokta başlatılmıştır
 print defined?(i1), "\n"	# yanlış; "i1" döngüde başlatılmıştır

Örnek Değişkenleri

[değiştir]

Örnek:

 @filan

A variable whose name begins with '@' is an instance variable of self. An instance variable belongs to the object itself. Uninitialized instance variables have a value of nil.

Literally it's equivalent to the following.

  self.foobar

Sınıf Değişkenleri

[değiştir]

Örnek:

 @@falan

Küresel Değişkenler

[değiştir]

Örnek:

 $falanca

İsmi '$' ile başlayan her değişkenin küresel kapsamı vardır; yani değişken, program çalıştırılırken her yerden erişilebilir.

Sabitler

[değiştir]

Kullanım:

 FALAN

İsmi büyük harfle (A-Z) başlayan tanımlar sabitlerdir. Bir sabit başladıktan sonra tekrar değer atanabilir, fakat öyle yapmak hata üretecektir. Her sınıf bir sabittir.

Bir sabite yeniden değer atamayı denemek ya da başlatılmamış bir sabite ulaşmayı denemek NameError (İsimHatası) istisnasını yükseltir.

Sahte Değişkenler

[değiştir]

self

Güncel yöntemin bileşenin yürütür.

nil

The sole-instance of the NilClass class. Hiçbirşey ifade etmez.

true

The sole-instance of the TrueClass class. Doğruyu ifade eder.

false

The sole-instance of the FalseClass class. Yanlışı ifade eder.

Sahte değişkenin değeri değiştirilemez. Substitution to a pseudo variable causes an exception to be raised.