Scala Product3

Scala Product3

Product3是Scala中的一个特性,它是三个元素的笛卡尔乘积。这里的线性超类型是Product、Equals和Any,这里的已知子类是Tuple3。它扩展了Product这个trait,也就是说。

trait Product3[+T1, +T2, +T3] extends Product
Scala

其中,T1、T2和T3是Scala使用的参数类型。

  1. 抽象值成员

    这里的抽象值成员有:

abstract def _1: T1
Scala

它返回第一个参数类型的元素。

abstract def _2: T2
Scala

它返回第二个参数类型的元素。

abstract def _3: T3
Scala

它返回第三个参数类型的元素。

abstract def canEqual(that: Any): Boolean
Scala

如果两个实例相等,它返回真,否则返回假。

示例 :

// 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)
              
    }
}
Scala

输出:

GeeksforGeeks
32
43.0
Scala

在这里,我们利用了抽象值成员来访问这些元素。

  1. 具体的值成员
    这里的具体值成员是:
def productArity: Int
Scala

它返回Product3特质中的参数数量。

def productElement(n: Int): Any
Scala

它返回第n个元素。

def productIterator: Iterator[Any]
Scala

它默认返回一个迭代器。

def productPrefix: String
Scala

它默认返回空字符串。

示例 :

// 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)
              
    }
}
Scala

输出:

3
a
Tuple3
Scala

在这里,productPrefix将返回Tuple3,因为Tuple3是一个扩展到Product3的最终案例类。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册