sirven que para palabras palabra name las keywords google ejemplos definicion claves clave scala

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 forma T forSome {Q} donde Q es una secuencia de declaraciones de valor y / o tipo."