arrays - Scala-creando un tipo de matriz parametrizada de longitud especificada
Si en Scala IDE intente lo siguiente:
val chars = Array[Char](256)
todo esta bien Pero si hago esto:
val len = 256
val chars = Array[Char](len)
¿Dice que espera un Char
lugar de len
? ¿Por qué? ¡Espero que el comportamiento sea el mismo! ¿Por qué piensa que quiero poner esa cosa en la matriz en lugar de especificar su tamaño? Por lo que sé, no hay un constructor para arreglos que tome un solo argumento para colocarlo dentro del arreglo.
val chars = Array[Char](256)
Esto funciona porque 256 se trata como un Char
y crea una matriz de un elemento (con el código 256)
val len = 256
val chars = Array[Char](len)
Aquí len es Int
, por lo que falla
Para crear una matriz de tamaño específico necesitas algo como esto
val chars = Array.fill(256){0}
donde {0}
es una función para producir elementos
Si el contenido de la matriz no importa, también puede usar new
lugar de fill
:
val chars = new Array[Char](256)