Escala | Invocación de método

La invocación de métodos es una técnica que demuestra una sintaxis diferente en la que llamamos dinámicamente a los métodos de una clase con un objeto.
Las convenciones de nomenclatura de Scala son las mismas que las de Java, es decir:

  • No debe haber ningún espacio entre el objeto/objetivo de la invocación y el punto (.) ni un espacio entre el punto y el nombre del método.

    obj.display(“nombre”) // obj.display correcto (“nombre”) // obj
    incorrecto pero legal .
    display(“nombre”) // incorrecto pero legal

  • Tampoco debe haber ningún espacio entre el nombre del método y los paréntesis.

    println(“estudiante”) // correcto
    println (“estudiante”) // incorrecto pero legal

  • Los argumentos deben estar separados por un solo espacio y una coma.

    obj.display(“nombre”, 22) // obj.display correcto (“nombre”, 22) // obj
    incorrecto pero legal .
    display(“nombre”, 22) // incorrecto pero legal

Veamos métodos con diferentes argumentos y estilos.
 
Arity-0: cuando hay 0 argumentos para pasar al método. Por lo tanto, no es obligatorio agregar paréntesis en los métodos. Mejorará la legibilidad del código y la omisión de paréntesis reducirá el número de caracteres hasta cierto punto.

obj.display() //correct
obj.display   //correct

 
Arity-1: Cuando solo hay 1 argumento para pasar al método de arity-1. Esta regla debe usarse para la programación puramente funcional o los métodos que toman funciones como parámetros, luego se pueden evitar los paréntesis alrededor del parámetro pasado. Este tipo de sintaxis también se conoce como notación infija .
Ejemplo :

// Scala program for arity 1 
// Creating object
class x
{
    // Defining method
    def display(str: String)= 
    {
        println(str)
    }
}
  
// Creating object
object GfG 
{ 
    // Main method 
    def main(args: Array[String]) 
    { 
        val obj = new x
        obj.display("student") // correct
        obj display ("student") // correct
        obj display "student" // correct
      
    } 
} 

Producción:

student
student
student

 
Función de orden superior: una función se denomina función de orden superior si contiene otras funciones como parámetro o devuelve una función como salida, es decir, las funciones que operan con otras funciones se conocen como funciones de orden superior. Vale la pena saber que la función de orden superior también es aplicable para funciones y métodos que toman funciones como parámetro o devuelven una función como resultado. Esto es practicable ya que el compilador de Scala permite forzar métodos en funciones.
Ejemplo :

// Scala program of higher order 
// function 
  
// Creating object 
object GfG 
{ 
    // Main method 
    def main(args: Array[String]) 
    { 
      
        // Creating a Set of strings 
        val names = Set("sunil","akhil","rakhi") 
      
        // Defining a method 
        def captainDesignation = (y: String) => "captain " + y
      
        // Creating a higher order function 
        // that is assigned to the String elements 
        val result = names.map(y => captainDesignation(y)) 
      
        // Displays output 
        println("Multiplied List is: " + result) 
    } 
} 

Producción:

Multiplied List is: Set(captain sunil, captain akhil, captain rakhi)

Puntos importantes

  • Esta sintaxis debe seguirse cuando no haya efectos secundarios.
  • Estas convenciones se utilizan para mejorar la legibilidad y hacer que el código sea mucho más fácil de entender.
  • Puede ahorrar algo de espacio al descuidar algunos caracteres adicionales.

Publicación traducida automáticamente

Artículo escrito por Patabhu y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *