scala - name - para que sirven las palabras claves
¿Para qué sirve la palabra clave forSome en Scala? (2)
La palabra clave forSome
se usa para definir tipos existenciales en Scala. Esta página del glossary Scala explica cuáles son. No pude encontrar un lugar en los documentos de Scala explicando en detalle, así que here hay un artículo de blog que encontré en Google explicando cómo son útiles.
Actualización: puede encontrar una definición precisa de tipos existenciales en la especificación de Scala, pero es bastante densa.
Para resumir algunas de las publicaciones a las que me he vinculado, los tipos existenciales son útiles cuando quiere operar en algo, pero no le importan los detalles del tipo. Por ejemplo, quiere operar en arreglos pero no le importa qué tipo de matriz:
def printFirst(x : Array[T] forSome {type T}) = println(x(0))
que también podría hacer con una variable de tipo en el método:
def printFirst[T](x : Array[T]) = println(x(0))
pero es posible que no desee agregar la variable de tipo en algunos casos. También puede agregar un límite a la variable de tipo:
def addToFirst(x : Array[T] forSome {type T <: Integer}) = x(0) + 1
También vea esta publicación en el blog, de donde obtuve este ejemplo.
Encontré el siguiente fragmento de código:
List[T] forSome { type T }
El forSome
parece un método, pero mi amigo me dijo que es una palabra clave.
Busqué en Google, pero encontré pocos documentos sobre forSome
. ¿Qué significa y dónde puedo obtener algunos documentos al respecto?
No conozco a Scala, pero tu pregunta despertó mi interés y comenzó a buscar en Google.
Lo encontré en el registro de cambios de Scala :
"Ahora es posible definir tipos existenciales usando la nueva palabra clave
forSome
. Un tipo existencial tiene la formaT forSome {Q}
dondeQ
es una secuencia de declaraciones de valor y / o tipo."