Was macht der Bereichsoperator ::MyClass/MyModule
in Ruby, was ist der Zweck?Was macht :: MyClass Ruby Scope-Operator?
9
A
Antwort
18
Dies bezieht sich explizit auf die MyClass im globalen Bereich. Wenn eine MyClass im globalen Bereich, aber auch eine MyClass innerhalb von SomeModule vorhanden ist, bezieht sich die Bezugnahme auf MyClass innerhalb von SomeModule innerhalb des Moduls auf MyClass, nicht auf die globale MyClass. Saying :: MyClass verweist explizit auf die MyClass im globalen Bereich.
class MyClass
def self.something
puts "Global MyClass"
end
end
module SomeModule
class MyClass
def self.something
puts "SomeModule::MyClass"
end
end
print "From the module: "
MyClass.something
print "Explicitly using global scope: "
::MyClass.something
end
print "From the global scope: "
MyClass.something
print "Explicitly using module scope: "
SomeModule::MyClass.something
2
"globaler Bereich" bedeutet nur, dass die Konstante in der Klasse Object
definiert ist. So ist ::SomeModule
eine Abkürzung für Object::SomeModule
Verwandte Themen
- 1. Was macht == in Ruby?
- 2. Was macht send() in Ruby?
- 3. Was macht Ruby zu einer eleganten Sprache?
- 4. Was macht rb-fsevent?
- 5. Wie macht Ruby # initialisieren privat?
- 6. Was macht map (&: name) in diesem Ruby-Code?
- 7. Was macht ein * vor einem String-Literal in Ruby?
- 8. Was macht die Klasse ClassName <:: OtherClassName in Ruby?
- 9. Was macht die Methode 'to_sym' von Ruby on Rails?
- 10. Was macht diese Kombination aus Chunk und Map in Ruby?
- 11. Was macht der Operator% in Ruby in N% 2?
- 12. Was ist Boxen und was macht es?
- 13. Warum gibt self.class === MyClass false zurück, während self.class == MyClass gibt true zurück?
- 14. Uncaught Reference: myClass nicht
- 15. Konvertieren MyClass <TDescendent> zu MyClass <TAncestor>
- 16. F # - öffentlicher myClass-Test;
- 17. Was macht fixIO?
- 18. Was macht CreateFile ("CONIN $" ..)?
- 19. Was macht System.Reflection.Missing.Value?
- 20. Was macht dieser Schienencode?
- 21. Was macht NHibernateUtil.Initialize?
- 22. Was macht "SqlMethods" -Methoden?
- 23. Was macht der ^?
- 24. Was macht YouTube?
- 25. Was macht g_signal_connect_swapped()?
- 26. Was macht mod_auth_passthrough?
- 27. Was macht exec sp_updatestats?
- 28. Was macht Raster $ Spaß?
- 29. Was macht git schuld?
- 30. Was macht h() wirklich?