StringContext es una clase que se utiliza en la interpolación de strings , lo que permite a los usuarios finales insertar las referencias de variables sin ningún intermediario en los literales de string procesados. Esta clase proporciona métodos raw, s y f por defecto como interpoladores. Los supertipos lineales aquí son Serializable , java.io.Serializable , Product , Equals , AnyRef y Any .
- Un ejemplo del uso del método s disponible como interpolador.
Ejemplo :Scala
// Scala program of the
// StringContext
// Creating object
object
Main
{
// Main method
def
main(args
:
Array[String])
{
// Assigning values
val
name
=
"GeeksforGeeks"
val
articles
=
32
// Applying StringContext with
// s-method
val
result
=
StringContext(
"I have written "
,
" articles on "
,
"."
).s(articles, name)
// Displays output
println(result)
}
}
Producción :I have written 32 articles on GeeksforGeeks.
Aquí, el método StringContext.s se utiliza para extraer las partes constantes, traduce las secuencias de escape contenidas y las agrega con los valores de los argumentos de expresión indicados.
La salida aquí se devuelve como se indica a continuación:"I have written " + (articles) + " articles on " + (name) + "."
Donde, las variables artículos y nombre son reemplazadas por sus valores.
- Creando nuestro propio interpolador: para proporcionar nuestro propio interpolador de strings, necesitamos producir una clase implícita que adjunte un método a la clase StringContext.
Ejemplo :Scala
// Scala program of StringContext
// for creating our own string
// interpolator
// Creating object
object
Main
{
// Main method
def
main(args
:
Array[String])
{
// Using implicit class with
// StringContext
implicit
class
Reverse (
val
x
:
StringContext)
{
// Defining a method
def
revrs (args
:
Any*)
:
String
=
{
// Applying s-method
val
result
=
x.s(args
:
_
*)
// Applying reverse method
result.reverse
}
}
// Assigning values
val
value
=
"GeeksforGeeks"
// Displays reverse of the
// stated string
println (revrs
"$value"
)
}
}
Producción :skeeGrofskeeG
Aquí, el método definido revrs pasa cada uno de sus argumentos al método s y luego imprime el reverso de la string indicada.
Nota: reverse es una función utilizada aquí para invertir la string dada.
Publicación traducida automáticamente
Artículo escrito por nidhi1352singh y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA