![]() Önceki |
![]() İçindekiler |
![]() Sonraki |
| Ruby Kullanıcı Kılavuzu | Sınıf Sabitleri |
Bir sabit büyük harfle başlayan bir ada sahiptir. Sabitlere bir kere değer ataması yapılmalıdır. Ruby'nin şu anki uygulamasına göre, sabitlere yeniden değer ataması yapmak hata yerine uyarı meydana getirir (eval.rb'nin ANSI olmayan versiyonuna göre hata aşağıdaki gibi belirtilir):
ruby>fluid=30 30 ruby>fluid=31 31 ruby>Solid=32 32 ruby>Solid=33 (eval):1: warning: already initialized constant Solid 33 |
Sabitler sınıflarla beraber tanımlanabilirler ancak örnek değişkenlere göre sınıfın dışından da erişilebilir durumdadırlar.
ruby> class ConstClass
| C1=101
| C2=102
| C3=103
| def show
| print C1," ",C2," ",C3,"\n"
| end
| end
nil
ruby> C1
ERR: (eval):1: uninitialized constant C1
ruby> ConstClass::C1
101
ruby> ConstClass.new.show
101 102 103
nil |
Sabitler modüller içinde de tanımlanabilirler.
ruby> module ConstModule
| C1=101
| C2=102
| C3=103
| def showConstants
| print C1," ",C2," ",C3,"\n"
| end
| end
nil
ruby> C1
ERR: (eval):1: uninitialized constant C1
ruby> include ConstModule
Object
ruby> C1
101
ruby> showConstants
101 102 103
nil
ruby> C1=99 # pek iyi bir fikir değil
99
ruby> C1
99
ruby> ConstModule::C1 # modülün sabiti değişmedi ...
101
ruby> ConstModule::C1=99
ERR: (eval):1: compile error
(eval):1: parse error
ConstModule::C1=99
^
ruby> ConstModule::C1 # .. nasıl değiştiriğimize aldırış etmez.
101 |
![]() Önceki |
![]() İçindekiler |
![]() Sonraki |