SORU
17 ŞUBAT 2011, PERŞEMBE


Ruby::: öneki?

Artifice kaynağı okurken gördüm ve anladım

module Artifice
  NET_HTTP = ::Net::HTTP
  # ...
end

satır: https://github.com/wycats/artifice/blob/master/lib/artifice.rb#L6

Neden sadece yap ::Net::HTTP, yani, yerine Net::HTTP önek :: kullandığınızda ne demek?

CEVAP
17 ŞUBAT 2011, PERŞEMBE


:: kapsam çözümleme operatörü. Ne bir modül altında bulunabilir belirler. Örneğin:

module Music
  module Record
    # perhaps a copy of Abbey Road by The Beatles?
  end

  module EightTrack
    # like Gloria Gaynor, they will survive!
  end
end

module Record
  # for adding an item to the database
end

Erişim Music::Record Music dışından Music::Record kullanırsınız.

Music::EightTrack başvuru Music::Record sadece aynı kapsamda (Music) tanımlı değil çünkü Record kullanabilirsiniz.

Ancak, Record modülü Music::EightTrack veritabanı ile arabirim sorumlu erişmek için sadece Ruby Music::Record istediğiniz düşündüğü için Record kullanamazsınız. Önek olarak kapsam çözünürlük operatörü, genel/ana kapsam belirleme kullanırsınız o zaman: ::Record.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Christian Atlas

    Christian At

    26 Mart 2009
  • infiniTuts

    infiniTuts

    18 Ocak 2012
  • stewmurray47

    stewmurray47

    1 Kasım 2006