Product3 es un rasgo en Scala, que es un producto cartesiano de tres elementos. Los supertipos lineales aquí son Product , Equals y Any y la subclase conocida aquí es Tuple3 . Extiende el rasgo Producto , es decir,
trait Product3[+T1, +T2, +T3] extends Product
Donde, T1, T2 y T3 son los tipos de parámetros utilizados de Scala.
- Miembros
de valor abstracto Los miembros de valor abstracto aquí son:-
abstract def _1: T1
Devuelve los elementos del primer tipo de parámetro.
-
abstract def _2: T2
Devuelve los elementos del segundo tipo de parámetro.
-
abstract def _3: T3
Devuelve los elementos del tercer tipo de parámetro.
-
abstract def canEqual(that: Any): Boolean
Devuelve verdadero si dos instancias son iguales, de lo contrario devuelve falso.
Ejemplo :
// Scala program of a trait
// Product3
// Creating an object
object
GfG
{
// Main method
def
main(args
:
Array[String])
{
// Applying Produt3 trait
// and assigning values
val
x
:
Product
3
[String, Int, Double]
=
{
(
"GeeksforGeeks"
,
32
,
43
)
}
// Displays the first element
println(x.
_
1
)
// Displays the second element
println(x.
_
2
)
// Displays the third element
println(x.
_
3
)
}
}
Producción:GeeksforGeeks 32 43.0
Aquí, hemos utilizado miembros de valor abstracto para acceder a los elementos.
-
- Miembros
de valor concreto Los miembros de valor concreto aquí son:-
def productArity: Int
Devuelve el número de parámetros en el rasgo Product3.
-
def productElement(n: Int): Any
Devuelve el elemento n.
-
def productIterator: Iterator[Any]
Devuelve un iterador por defecto.
-
def productPrefix: String
Devuelve la string vacía por defecto.
Ejemplo :
// Scala program of a trait
// Product3 for concrete
// value members
// Creating an object
object
GfG
{
// Main method
def
main(args
:
Array[String])
{
// Applying Product3 trait
// and assigning values
val
x
:
Product
3
[String, Char, Int]
=
{
(
"GeeksforGeeks"
,
'a'
,
43
)
}
// Displays number of elements
println(x.productArity)
// Displays nth element
println(x.productElement(
1
))
// Displays prefix of the trait
println(x.productPrefix)
}
}
Producción:3 a Tuple3
Aquí, productPrefix devolverá Tuple3 ya que Tuple3 es una clase de caso final que amplía Product3.
-
Publicación traducida automáticamente
Artículo escrito por nidhi1352singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA