Reasignación a un Val en Scala

Suraj P 21 junio 2023
  1. Reasignación a un val en Scala
  2. Conclusión
Reasignación a un Val en Scala

Este artículo enseñará sobre la reasignación a un val en Scala.

Reasignación a un val en Scala

En Scala no se permite la reasignación a val, pero podemos crear un nuevo val y asignarle el valor.

Código de ejemplo 1:

object MyClass {

    def main(args: Array[String])
    {
         val x = 10;
         x = x+10

         println(x)
    }
}

Producción :

error: reassignment to val

Podemos ver un error al reasignar los valores a un val.

Como solución alternativa, podemos asignar el resultado a un nuevo val y usarlo.

Código de ejemplo 2:

object MyClass {

    def main(args: Array[String])
    {
         val x = 10;
         val y = x+10

         println(y)
    }
}

Producción :

20

Scala nos proporciona tres formas de definir las cosas.

  1. val se utiliza para definir un valor fijo, que no se puede modificar.

    Código de ejemplo: Aquí, el val x no se puede modificar.

    object MyClass {
    
    	def main(args: Array[String])
    	{
    		 val x = 10;
    
    	}
    }
    
  2. var se usa para definir una variable, un valor que se puede modificar.

    object MyClass {
    
    	def main(args: Array[String])
    	{
    		 var x = 10;
    		 x = x+10;
    		 println(x)
    
    		 x = x*1000
    		 println(x)
    
    	}
    }
    

    Producción:

    20
    20000
    
  3. def se usa para definir un método

    Código de ejemplo:

    object MyClass {
    
      def student = 2*3*4*5*6
    
    	def main(args: Array[String])
    	{
    		 println(student)
    	}
    }
    

    Producción:

    720
    

Conclusión

En este artículo, aprendimos que no podemos reasignar valores a un val ya que declara la variable como el valor fijo, por lo que si queremos usar una variable que cambia constantemente, podemos usar var.

Autor: Suraj P
Suraj P avatar Suraj P avatar

A technophile and a Big Data developer by passion. Loves developing advance C++ and Java applications in free time works as SME at Chegg where I help students with there doubts and assignments in the field of Computer Science.

LinkedIn GitHub