Estoy usando módulos como espacios de nombres en ruby. ¿Cómo podría proceder con la carga automática ... algo así como autoload :"App::ModuleA", 'app/module_a
que no genera el error "debe ser constante"?autocarga con espacios de nombre/submódulos
7
A
Respuesta
11
lo necesario para pasar un símbolo para autoload
(probablemente un error tipográfico en su pregunta), y lo llaman en la matriz de la constante, como:
App.autoload :ModuleA, "app/module_a"
Tenga en cuenta que esto funciona para niveles anidados también. Decir que en app/module_a
tiene:
module App::ModuleA
autoload :Inner, "path/to/inner"
end
Cuando Rubí encuentra App::ModuleA::Inner
, primero se intentará acceder ModuleA
, tener éxito al autoloading, y sólo entonces intentar Inner
, que tiene éxito también porque ahora sabe dónde cargarla automáticamente.
Cuestiones relacionadas
- 1. Constantes de autocarga en PHP?
- 2. Rails 3 autocarga
- 3. Autoload con espacios de nombres en PHP 5.3?
- 4. Concatenación de cadenas con espacios
- 5. espacios de impresión con String.Format()
- 6. Consultar con espacios Sparql
- 7. Splitting/proc/cmdline con espacios
- 8. PHP reemplaza espacios con subrayados
- 9. reemplazar períodos finales con espacios
- 10. Cómo rellenar NSString con espacios?
- 11. inicialización de matriz de caracteres con espacios
- 12. leyendo una cadena con espacios con sscanf
- 13. Imprimir con margen izquierdo con espacios
- 14. Matlab problemas de función strcat con espacios
- 15. ColdFusion XmlSearch(): XPath con espacios de nombres
- 16. Cómo extender espacios de nombres con EmberJS
- 17. PowerShell: paso de rutas calculadas con espacios
- 18. XSD con importaciones y espacios de nombres
- 19. espacios de nombres con enlace externo
- 20. propiedades de clase Acceso con espacios
- 21. Manejo de directorios con espacios Python subprocess.call()
- 22. Elementos enum de Java con espacios?
- 23. PHP carga automática en espacios de nombres
- 24. ¿Está manteniendo los archivos de autocarga de Emacs para elisp instalado por el usuario?
- 25. CodeIgniter - Página en blanco en la autocarga de la base de datos
- 26. ¿Hay desventajas de rendimiento al usar clases de autocarga en PHP?
- 27. .NET Formatee una cadena con espacios fijos
- 28. variable setenv con espacios en launchd.conf?
- 29. Ack buscar con espacios en blanco
- 30. Perl programa para reemplazar pestañas con espacios
Entiendo eso. Pero no me quiero inicializar al llamar a un Constant ModuleA, quiero llamarlo cuando alguien dice 'include App :: ModuleA' –
De hecho, es por eso que quiere llamar' App.autoload', no solo 'autoload' . Pruébalo, funcionará como quieras. –
aaaah ... ya veo. Muchas gracias :) –