SORU
9 HAZİRAN 2010, ÇARŞAMBA


Ruby'in çift iki nokta üstüste (::)?

Bu çift kolon hakkında :: nedir? E. g. Foo::Bar.

definition buldum:

:: sağlayan tekli bir operatördür: herhangi bir sınıf veya modülü dışarıdan sabitler, örnek yöntemleri ve sınıf yöntemleri bir sınıf veya modülü, erişilmesi içinde tanımlanmış.

ama bu sadece daha fazla doğuruyor. İyi ise sadece kullanabilirsiniz kapsamı (özel) korumalı :: her şeyi ifşa etmek nedir?

CEVAP
9 HAZİRAN 2010, ÇARŞAMBA


:: temelde ad çözümlemesi bir operatör. Sen modüller veya sınıfların sınıf düzeyi öğeleri öğeleri erişim sağlar. Örneğin, bu ayar vardı ki:

module SomeModule
    module InnerModule
        class MyClass
            CONSTANT = 4
        end
    end
end

SomeModule::InnerModule::MyClass::CONSTANT modülü dışarıdan CONSTANT giriş yapabilirsin.

Farklı bir sözdizimi (nokta .) ile bu erişim beri örnek yöntemleri bir sınıf üzerinde tanımlı etkilemiyor.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • alex maybury

    alex maybury

    20 Aralık 2007
  • Bigapplemagic

    Bigapplemagi

    22 EYLÜL 2011
  • SaMmM123

    SaMmM123

    3 Mayıs 2006