Latest web development tutorials

스칼라 함수

함께 사명을 수행하는 함수의 집합입니다. 당신은 다른 기능에 코드를 넣을 수 있습니다. 어떻게 개별 함수에 코드를 분할하는 것은 결정하는 당신에게 달려 있지만, 논리적으로 수행하기 위해 특정 작업에 따라 각 기능을 수행 일반적으로 나누었다.

스칼라는 의미에서 작은 차이에 모두 기능과 방법을 가지고 있습니다. 스칼라 메소드는 클래스에 속해 있으며,이 함수는 변수에 할당 될 수있는 객체이다. 즉, 함수는 방법의 클래스 정의.

우리는 함수 내 기능 어디서나, 심지어 정의 함수 (인라인 함수)를 정의 할 수 있습니다.등 : -, - -, \, /, +, +, : 더 중요한 점은 스칼라 함수 이름은 다음 특수 문자로 구성 될 수있다


함수 선언

다음과 같은 형식의 스칼라 함수 선언 :

def functionName ([参数列表]) : [return type]

등호 상기 방법 체를 작성하지 않으면,이 방법은 암시 적 유형을 포함하는 다음 추상 타입 '추상 (초록) "를 선언한다.


함수 정의

방법은 파라미터 콜론의 선택적리스트 뒤에 시작 DEF 키워드로 정의된다 : 상기 방법은 "="같은 숫자의 형식을 반환하고, 마지막으로 상기 방법의 본문 "."

스칼라 함수는 다음과 같은 형식으로 정의된다 :

def functionName ([参数列表]) : [return type] = {
   function body
   return [expr]
}

위의 코드의반환 형식은 유효한 데이터 유형 스칼라 될 수 있습니다.매개 변수 목록 매개 변수를 쉼표로 구분 될 수있다.

다음 함수는이 합산되어 매개 변수와 요약을 전달 특징 :

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

      return sum
   }
}

다음과 같이 함수는 값을 반환하지 않는 경우,이 자바의무효와유사단위를반환있습니다,예는 다음과 같습니다

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

함수 호출

스칼라는 함수를 호출하는 다양한 방법을 제공합니다 :

다음은 표준 형식 메서드 호출입니다 :

functionName( 参数列表 )

함수는 객체 인스턴스를 호출하는 데 사용되는 경우, 우리는 유사한 자바 형식(. 개수를 이용하여)를 사용할 수있다

[instance.]functionName( 参数列表 )

위의 예에서는 정의 및 함수 인스턴스를 호출을 보여 :

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

      return sum
   }
}

위의 코드의 구현, 출력은 :

$ scalac Test.scala 
$ scala Test
Returned Value : 12

스칼라 함수 언어이므로,이 함수는 스칼라 언어의 핵심이다. 여기에 몇 가지 기능 개념은 우리가 더 나은 스칼라 프로그래밍을 이해하는 데 도움이 있습니다 :

분석 함수 개념을 연결 케이스
이름 호출에 의해 기능 (통화 별 이름) 함수 인수의 이름을 지정합니다
기능 - 변수 매개 변수 재귀 함수
기본 매개 변수 값 고차 함수
중첩 된 기능 익명 함수
일부 기능 응용 프로그램 카레 기능 (기능 커링)