¿Qué hace el operador de alcance ::MyClass/MyModule
en Ruby, cuál es su propósito?¿Qué hace :: MyClass Ruby scope operator do?
9
A
Respuesta
18
Esto se refiere explícitamente a MyClass en el ámbito global. Si hay una MyClass en el alcance global, pero también una MyClass dentro de SomeModule, consultar MyClass desde SomeModule hará referencia a MyClass dentro del módulo, no a la MyClass global. Diciendo :: MyClass se refiere explícitamente a MyClass en el alcance global.
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
"alcance global" solo significa que la constante se define en la clase Object
. Entonces ::SomeModule
es la abreviatura de Object::SomeModule
Cuestiones relacionadas
- 1. ¿Qué hace android: isScrollContainer do?
- 2. ¿Qué hace/[\ []/do en JavaScript?
- 3. ruby operator "= ~"
- 4. ¿Por qué es necesario llamar explícitamente a Myclass :: operator string() con std :: string :: operator +()?
- 5. ¿qué hace el operador string() {some code} do?
- 6. ¿Qué hace exactamente git rebase --skip do?
- 7. ¿Qué hace rel = "nofollow me" do?
- 8. exactamente qué hace rake db: migrate do?
- 9. ¿Qué hace! Function ($) {$ (function() {})} (window.jQuery) do?
- 10. ¿Qué hace el auto lambda: do
- 11. ¿Qué hace @synthesize window = _window do?
- 12. ¿Qué hace el script: do en powershell?
- 13. ¿Qué hace git merge origin/master do?
- 14. ¿Qué hace exactamente + = do en python?
- 15. ¿Qué hace:% S do in vim?
- 16. ¿Qué hace `__importar __ ('pkg_resources'). Declare_namespace (__ name __)` do?
- 17. ¿Qué hace java: comp/env/do?
- 18. Ruby ternary operator without else
- 19. ¿Qué hace% {} en Ruby?
- 20. ¿Qué hace == en Ruby?
- 21. Ruby Instance Variable Scope Pregunta
- 22. Ruby ternary operator in erb?
- 23. ruby boolean operator o || diferencia
- 24. Constante no inicializada MyClass (NameError) en Ruby
- 25. ¿Qué hace send() en Ruby?
- 26. ¡Qué hace! significa en ruby?
- 27. ¿Por qué Ruby Only Permitting Certain Operator Overloading?
- 28. ¿Qué hace \ do en los caracteres que no escapan?
- 29. ¿Qué hace x: Key = "{x: Type TextBox}" do?
- 30. ¿Qué hace "Grant Connect on Endpoint as [sa]" do?