¿Cuál es la forma canónica de obtener una matriz vacía en Scala? new Array[String](0)
es demasiado detallado.forma canónica para matriz vacía en Scala?
Respuesta
Array[String]()
Usted puede dejar de lado la parte [String]
si se puede inferir (por ejemplo methodThatAlwaysTakesAStringArray(Array())
).
Array()
será suficiente, la mayoría de las veces. Será del tipo Array[Nothing]
.
Si utiliza conversiones implícitas, puede que tenga que escribir realmente Matriz [Nada], debido a Bug #3474:
def list[T](list: List[T]) = "foobar"
implicit def array2list[T](array: Array[T]) = array.toList
Esto no funcionará:
list(Array()) => error: polymorphic expression cannot be instantiated to expected type;
found : [T]Array[T]
required: List[?]
list(Array())
^
Esto hará lo siguiente:
list(Array[Nothing]()) //Nothing ... any other type should work as well.
Pero esta es solo una extraña caja de esquina de implicits. Es muy posible que este problema desaparezca en el futuro.
val emptyArray = Array.empty[Type]
Esto también me funcionó cuando se podía inferir el tipo: Array.empty –
Si el tipo de matriz es una de las primitivas, puede usar los accesos directos de scala.Array.
Por ejemplo, para una matriz de bytes que sería:
val arr = Array.emptyByteArray
Esto es útil cuando el tipo no se puede deducir y que desea permanecer menos detallado.
- 1. ¿Qué significa el término "forma canónica" o "representación canónica" en Java?
- 2. URL canónica en Analytics
- 3. establecer matriz vacía
- 4. JSON matriz vacía
- 5. JSON y matriz vacía
- 6. una matriz vacía
- 7. matriz mutable vacía
- 8. ¿Cómo creo una matriz vacía en YAML?
- 9. ¿Cómo creo una matriz/matriz vacía en NumPy?
- 10. terminal de entrada canónica frente a no canónica
- 11. Fijación de una matriz vacía
- 12. Scala: ¿forma idiomática de calcular sumas de matriz intercalada?
- 13. jQuery forma serialize - cadena vacía
- 14. equivalencia canónica en el patrón
- 15. Filtrado matrices vacías de matriz de matrices en Scala
- 16. Generando una ruta canónica
- 17. ¿Cuál es la forma canónica de recortar una cadena en Ruby sin crear una nueva cadena?
- 18. ¿Por qué json_decode devuelve null para la matriz vacía?
- 19. ¿Cuál es la forma canónica de Rails para recopilar y almacenar direcciones físicas o postales?
- 20. ¿Cuál es la forma canónica de escribir una función hasher para TEqualityComparer.Construct?
- 21. Cuándo [pantallas UIScreen] devolvería una matriz vacía
- 22. ¿Por qué req.params devuelve una matriz vacía?
- 23. matriz vacía al usar getListView(). GetCheckedItemIds()
- 24. ¿Por qué IJavaProject.findPackageFragmentRoots devuelve una matriz vacía?
- 25. Referencia canónica en elementos internos de JVM para programadores/desarrolladores
- 26. ¿Cómo deserializar una matriz/lista vacía?
- 27. Puntero que apunta a una matriz vacía
- 28. forma de Scala para cambiar esto en una lista?
- 29. VBA Manejar error de matriz vacía
- 30. ¿Devuelve "verdadero" en la matriz de selección jQuery vacía?
Esta versión parece crear una secuencia vacía y llamar 'Array.apply()' en esa secuencia. Por lo tanto, no es exactamente lo mismo que 'new Array [String] (0)'. –
¿Podría explicar por qué esto es preferible a 'Array.empty [String]'? Encuentro la respuesta a continuación superior, ya que es menos ambigua cuando se lee. – Shuklaswag