Que fait l'opérateur scope ::MyClass/MyModule
en Ruby, quel est son but?Que fait l'opérateur :: MyClass Ruby scope?
9
A
Répondre
18
Cela fait explicitement référence à MyClass dans la portée globale. S'il y a une classe MyClass dans la portée globale, mais aussi une classe MyClass à l'intérieur de SomeModule, se référer à MyClass à l'intérieur de SomeModule fera référence à MyClass à l'intérieur du module, et non à MyClass global. Saying :: MyClass fait explicitement référence à MyClass dans la portée globale.
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
« portée globale » signifie juste que la constante est définie sur la classe Object
. Donc ::SomeModule
est un raccourci pour Object::SomeModule
Questions connexes
- 1. scope dans Ruby/Sinatra
- 2. Ruby Instance Variable Scope Question
- 3. Constante non initialisée MyClass (NameError) dans Ruby
- 4. Que fait "" (deux guillemets doubles) dans Ruby?
- 5. Que fait-il? signifie en Ruby?
- 6. Que fait cette ligne de Ruby/Rails?
- 7. Que fait cette méthode dans Ruby?
- 8. Qu'est-ce que Scope Creep?
- 9. @class myClass; // qu'est-ce que cela fait, je ne peux pas comprendre: s
- 10. Resharper - Fonctionnalité "Widen Scope"
- 11. Qu'est-ce que Out Of Scope signifie?
- 12. function MyClass() {...}; MyClass.prototype = MyClass; - considéré comme nuisible?
- 13. Que fait !! some_object?
- 14. Définition Constantes par Scope
- 15. PHP Exiger Global Scope
- 16. IronRuby, DLR, Inclusion Scope
- 17. Que fait la méthode 'to_sym' de Ruby on Rails?
- 18. Ruby on Rails: alias_method_chain, que fait-il exactement?
- 19. Que fait classe ClassName <:: OtherClassName dans Ruby?
- 20. Que fait l'opérateur% dans Ruby dans N% 2?
- 21. Que fait map (&: name) dans ce code Ruby?
- 22. que fait ce script?
- 23. Différence entre "MyClass & func1 (void)" et "MyClass * func2 (void)"
- 24. JPA, scope et autosave?
- 25. Struct Scope Access
- 26. Que fait cette fonction?
- 27. IIS7 - que fait MaxProcesses?
- 28. Que fait l'opérateur =>?
- 29. Que fait ce code?
- 30. Que fait Application.Run()?