¿Existen restricciones en los nombres de las clases S3? Por ejemplo, ¿se permiten espacios en el nombre? Veo que los marcos de datos tienen una clase de "data.frame" y no de "data frame". Si no hay una restricción formal, ¿hay problemas potenciales con espacios en el nombre? Simplemente no me encuentro con nada más que los modos básicos, así que estoy seguro de que aquellos de ustedes con más experiencia sabrán. Se permiteNombres de clases S3: ¿Qué se permite?
6
A
Respuesta
6
No parece que haya muchas restricciones. Echa un vistazo a esta monstruosidad:
`plot.44 [email protected]#$%^&` <- function(x) {
plot(rnorm(x), pch=16, col="red",
main = "But why would you want to do this??")
}
dat <- 55
class(dat) <- "44 [email protected]#$%^&"
plot(dat)
Una de las razones no poner espacios en un nombre de clase es que hace que sea un poco más complicado para llamar directamente métodos de dicha categoría.
plot.44 [email protected]#$%^&(100) # This doesn't work
`plot.44 [email protected]#$%^&`(100) # You have to do this instead
2
Espacios:
test = 1
class(test) = c(class(test) , "My Class")
No estoy seguro sobre otras restricciones o consecuencias de tener caracteres especiales en los nombres de las clases. Ciertamente, tener espacios/caracteres especiales en los nombres de las clases no es convencional (no solo R, sino otros idiomas). Sugiero evitar eso.
Cuestiones relacionadas
- 1. S3 y el orden de las clases
- 2. ¿Por qué no se permite que las clases selladas sean restricciones de tipo genérico?
- 3. ¿Por qué se les permite a las clases de C++ tener miembros con cero datos?
- 4. apache, permite nombres de archivo con '?'
- 5. ¿Por qué no se permite System.out.println (super)?
- 6. ¿Por qué se permite T() = T()?
- 7. Espaciado de nombres y clases
- 8. ¿Por qué no se permite nulo para DateTime en C#?
- 9. clases Adelante declaran en espacios de nombres
- 10. ¿Qué nombres te encuentras anteponiendo/añadiendo a clases regularmente?
- 11. Por qué Python no permite guiones
- 12. ¿Por qué se permite la cadena de caracteres y el compilador no permite int int?
- 13. ¿Por qué mis imágenes de Amazon S3 se cargan lentamente?
- 14. Proguard mantener los nombres de las clases?
- 15. clases particulares espacios de nombres dentro
- 16. ¿Por qué no se permite este parámetro de plantilla predeterminado?
- 17. ¿Por qué se permite ImageSource como recurso de WPF?
- 18. Clases dentro de CoffeeScript 'Espacio de nombres'
- 19. ¿Qué función de C++ permite que las clases de plantilla se refieran a sí mismas sin argumentos de plantilla?
- 20. ¿Por qué C# (4.0) no permite co y contravariancia en tipos de clases genéricas?
- 21. nombres de clases dinámicas en menos
- 22. Nombres de clases Unicode en C#: ¿por qué funciona un poco, cuando otros no?
- 23. Visual Studio no me permite usar ciertos nombres de variable
- 24. ¿Qué son las clases S1 y S2?
- 25. Amazon S3: ¿Qué se considera solicitud PUT/COPY/POST/LIST?
- 26. ¿Por qué son necesarios los nombres de parámetros en una definición de interfaz? Se me permite elegir nuevos nombres de los parámetros durante la ejecución
- 27. ¿Por qué no se permite RVO al devolver un parámetro?
- 28. ¿Por qué se usan clases estáticas?
- 29. ¿Qué clases no se pueden subclasificar?
- 30. ¿Por qué se permite un literal wchar_t vacío?
Simplemente adivinando, pero entre otras cosas, supongo que la monstruosidad puede no ser tan portátil dependiendo de la codificación (además de ser una monstruosidad). –
Podría imaginar que sea un problema con algunos personajes. Sin embargo, probablemente no sean los que incluí allí, ya que (me acabo de dar cuenta) que todos se usan de una forma u otra en la base R! –
Una clase de "π" funciona para mí – hadley