Escala | Producto3

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.

  1. 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: Product3[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.

  2. 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: Product3[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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *