📜  斯卡拉 |看涨期权的方法

📅  最后修改于: 2022-05-13 01:55:20.819000             🧑  作者: Mango

斯卡拉 |看涨期权的方法

Scala 中的 Option 指的是指定类型的单个元素或没有元素的载体。当一个方法返回一个甚至可以为 null 的值时,就会使用 Option,即,定义的方法返回一个 Option 的实例,而不是返回单个对象或 null。
我们可以在 Scala Option上调用一些方法。

  • 默认得到:A
    此方法用于返回选项的值。
    例子:
    // Scala program of using
    // get method
      
    // Creating object
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Using Some class
            val some:Option[Int] = Some(20)
          
            // Applying get method
            val x = some.get
      
            // Displays the value 
            println(x)
        }
    }
    
    输出:
    20
    

    在这里, get方法不能应用于None类,因为它会显示异常。

  • def productArity: Int
    此方法用于返回 Option 值的大小。
    例子:
    // Scala program of returning 
    // the size of the value
      
    // Creating object
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Using Some class
            val some:Option[Int] = Some(20)
          
            // Applying productArity
            // method
            val x = some.productArity
      
            // Displays the size of
            // the Option's value
            println(x)
        }
    }
    
    输出:
    1
    
  • def productElement(n: Int): 任意
    此方法用于返回所述产品的第 n 个元素,此处索引从零开始。
    例子:
    // Scala program of returning 
    // the n-th element of the
    // product
      
    // Creating object
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Using Some class
            val some:Option[Int] = Some(20)
      
            // Applying productElement
            // method
            val x = some.productElement(0)
      
            // Displays the element
            println(x)
        }
    }
    
    输出:
    20
    

    在这里, None将显示异常。

  • def 存在(p: (A) => Boolean): Boolean
    当 Option 的值满足规定的条件时,此方法返回 true,否则返回 false。
    例子:
    // Scala program of the method
    // 'exists'
      
    // Creating object
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Using Some class
            val some:Option[Int] = Some(30)
      
            // Applying exists method
            val x = some.exists(y => {y % 3 == 0})
      
            // Displays true if the condition
            // given is satisfied else false 
            println(x)
        }
    }
    
    输出:
    true
    

    在这里,陈述的条件得到满足,所以返回 true。

  • def filter(p: (A) => Boolean): Option[A]
    如果满足所述条件,则使用此方法返回 Option 的值。
    例子:
    // Scala program of the method
    // 'filter'
      
    // Creating object
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Using Some class
            val some:Option[Int] = Some(30)
      
            // Applying filter method
            val x = some.filter(y => {y % 3 == 0})
      
            // Displays the value of the
            // option if the predicate 
            // is satisfied
            println(x)
        }
    }
    
    输出:
    Some(30)
    

    在这里,条件满足,因此返回 Option 值,如果不满足谓词,则返回 None。

  • def filterNot(p: (A) => Boolean): Option[A]
    如果不满足所述条件,此方法将返回 Option 值。
    例子:
    // Scala program of the method
    // 'filterNot'
      
    // Creating object
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Using Some class
            val some:Option[Int] = Some(30)
      
            // Applying filterNot method
            val x = some.filterNot(y => {y % 3 != 0})
      
            // Displays the value of the
            // option if the predicate 
            // is not satisfied
            println(x)
        }
    }
    
    输出:
    Some(30)
    

    在这里,条件不满足,因此返回 Option 值,如果满足谓词,则返回 None。

  • def isDefined: 布尔值
    如果 Option 是 Some 的实例,则此方法返回 true;如果 Option 是 None 的实例,则返回 false。
    例子:
    // Scala program of the method
    // 'isDefined'
      
    // Creating object
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Using Some class
            val some:Option[Int] = Some(30)
      
            // using None class
            val none:Option[Int] = None
      
            // Applying isDefined method
            val x = some.isDefined
            val y = none.isDefined
      
            // Displays true for Some
            // and false for None
            println(x)
            println(y)
        }
    }
    
    输出:
    true
    false
    
  • 定义迭代器:迭代器[A]
    此方法返回给定选项的迭代器。
    例子:
    // Scala program of the method
    // 'iterator'
      
    // Creating object
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Using Some class
            val some:Option[Int] = Some(30)
          
            // Applying iterator method
            val x = some.iterator
      
            // Displays an iterator
            println(x)
        }
    }
    
    输出:
    non-empty iterator
    
  • def map[B](f: (A) => B): 选项[B]
    如果 Option 有值,此方法将返回 Map 中所述函数的值。
    例子:
    // Scala program of the method
    // 'map'
      
    // Creating object
    object GFG
    {
      
        // Main method
        def main(args: Array[String])
        {
      
            // Using Some class
            val some:Option[Int] = Some(30)
      
            // Applying Map method
            val x = some.map(y => {y + y})
      
            // Displays the value returned
            // by the function in map
            println(x)
        }
    }
    
    输出:
    Some(60)
    

    这些是调用选项的方法,还有更多这样的方法。

  • def orElse[B >: A](alternative: => Option[B]): Option[B]
    如果 Option 包含一个值,则返回它。否则,此方法评估备选方案并返回备选方案。
  • def or Null
    如果 Option 不包含值,此方法将返回 Null。