La Opción en Scala se refiere a un portador de un solo elemento o ningún elemento para un tipo establecido. Cuando un método devuelve un valor que incluso puede ser nulo, se utiliza la opción, es decir, el método definido devuelve una instancia de una opción, en lugar de devolver un solo objeto o un valor nulo.
Hay algunos métodos a los que podemos llamar en Scala Option .
- def get: A
Este método se utiliza para devolver el valor de una opción.
Ejemplo:// 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)
}
}
Producción:20
Aquí, el método get no se puede aplicar a la clase Ninguno , ya que mostrará una excepción.
- def productArity: Int
Este método se utiliza para devolver el tamaño del valor de la opción.
Ejemplo:// 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)
}
}
Producción:1
- def productElement(n: Int): Cualquiera
Este método se utiliza para devolver el n-ésimo elemento del producto indicado y aquí la indexación comienza desde cero.
Ejemplo:// 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)
}
}
Producción:20
Aquí, Ninguno mostrará una excepción.
- def existe(p: (A) => Booleano): Booleano
Cuando el valor de la Opción satisface la condición establecida, este método devuelve verdadero; de lo contrario, devuelve falso.
Ejemplo:// 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)
}
}
Producción:true
Aquí, la condición establecida se cumple, por lo que se devuelve verdadero.
- def filter(p: (A) => Boolean): Opción[A]
Este método se utiliza para devolver el valor de la opción si se cumple la condición establecida.
Ejemplo:// 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)
}
}
Producción:Some(30)
Aquí, la condición se cumple, por lo que se devuelve el valor de Opción y devuelve Ninguno si el predicado no se cumple.
- def filterNot(p: (A) => Boolean): Opción[A]
Este método devolverá el valor de la opción si no se cumple la condición establecida.
Ejemplo:// 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)
}
}
Producción:Some(30)
Aquí, la condición no se cumple, por lo que se devuelve el valor de Opción y devuelve Ninguno si se cumple el predicado.
- def isDefined: Boolean
Este método devuelve verdadero si la opción es una instancia de algunos y devuelve falso si la opción es una instancia de ninguno.
Ejemplo:// 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)
}
}
Producción:true false
- def iterator: Iterator[A]
Este método devuelve un iterador en la Opción dada.
Ejemplo:// 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)
}
}
Producción:non-empty iterator
- def mapa[B](f: (A) => B): Opción[B]
Este método devolverá el valor de la función indicada en el Mapa, si la Opción tiene un valor.
Ejemplo:// 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)
}
}
Producción:Some(60)
Estos fueron los métodos para llamar a una opción y hay más métodos de este tipo.
- def orElse[B >: A](alternativa: => Opción[B]): Opción[B]
Si la Opción contiene un valor, esto lo devuelve. De lo contrario, este método evalúa la alternativa y la devuelve.
- def orNull
Este método devolverá Null, si la opción no contiene un valor.
Publicación traducida automáticamente
Artículo escrito por nidhi1352singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA