English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Métodos e Funções do Scala

Scala tem métodos e funções, e a diferença semântica entre eles é muito pequena. O método Scala é uma parte da classe, enquanto a função é um objeto que pode ser atribuído a uma variável. Em outras palavras, a função definida dentro da classe é um método.

Aqui, o método Scala é semelhante ao Java, onde o método é uma parte da classe.

A função Scala é um objeto completo, na verdade, a função Scala é um objeto da classe que herda o Trait.

Scala usa val A frase pode definir uma função,def definição de frase.

class Test{
  def m(x: Int) = x + 3
  val f = (x: Int) => x + 3
}

Atenção:Em algumas traduções, função (function) e método (method) não têm diferença.

declaração do método

O formato da declaração do método Scala é o seguinte:

def functionName([lista de parâmetros]): [tipo de retorno]

Se você não escrever o sinal de igual e o corpo do método, o método será declarado implicitamente comoabstrato (abstract)que inclui seu tipo também é um tipo abstrato.

definição do método

A definição do método é feita por um def Palavra-chave de início, seguida pela lista de parâmetros opcional, um dois-pontos :, o tipo de retorno do método, um sinal de igual =, e finalmente o corpo do método.

O formato da definição do método Scala é o seguinte:

def functionName([lista de parâmetros]): [tipo de retorno] = {
   corpo da função
   return [expr]
}

No código acima: tipo de retorno Pode ser qualquer tipo de dados Scala válido. Os parâmetros na lista de parâmetros podem ser separados por vírgulas.

A função desses métodos é somar os dois parâmetros passados e encontrar a soma:

object add{
   def addInt( a:Int, b:Int ) : Int = {
      var sum:Int = 0
      sum = a + b
      return sum
   }
}

Se o método não tiver valor de retorno, pode retornar como Unitsemelhante ao Java: void, exemplo a seguir:

object Hello{
   def printMe(): Unit = {
      println("Hello, Scala!")
   }
}

Chamada de Método

O Scala oferece várias maneiras diferentes de chamar métodos:

A seguir está o formato padrão de chamada de método:

functionName( lista de parâmetros )

Se o método usar o objeto exemplo para chamar, podemos usar um formato semelhante ao java (usando . número):

[instance.]functionName( lista de parâmetros )

O exemplo acima demonstra um exemplo de definição e chamada de método:

object Test {
   def main(args: Array[String]) {
        println( "Valor Retornado : " + addInt(5,7);
   }
   def addInt( a:Int, b:Int ) : Int = {
      var sum:Int = 0
      sum = a + b
      return sum
   }
}

Executar o código acima, o resultado de saída será:

$ scalac Test.scala 
$ scala Test
Valor Retornado : 12

O Scala também é uma linguagem funcional, então as funções são o núcleo da linguagem Scala. Abaixo estão alguns conceitos de funções que ajudam a entender melhor a programação Scala:

Análise Conceitual de Conceito de Função com Exemplos
Chamada de Nome de Função(Call-por-Name)Nomear Parâmetro de Função Específico
Função - Parâmetro VariávelFunção Recursiva
Valor Padrão de ParâmetroFunção de Alta Ordem
Função EmbutidaFunção Anônima
Função Aplicada ParcialCurrying de Função(Function Currying)