스칼라 함수
함께 사명을 수행하는 함수의 집합입니다. 당신은 다른 기능에 코드를 넣을 수 있습니다. 어떻게 개별 함수에 코드를 분할하는 것은 결정하는 당신에게 달려 있지만, 논리적으로 수행하기 위해 특정 작업에 따라 각 기능을 수행 일반적으로 나누었다.
스칼라는 의미에서 작은 차이에 모두 기능과 방법을 가지고 있습니다. 스칼라 메소드는 클래스에 속해 있으며,이 함수는 변수에 할당 될 수있는 객체이다. 즉, 함수는 방법의 클래스 정의.
우리는 함수 내 기능 어디서나, 심지어 정의 함수 (인라인 함수)를 정의 할 수 있습니다.등 : -, - -, \, /, +, +, : 더 중요한 점은 스칼라 함수 이름은 다음 특수 문자로 구성 될 수있다
함수 선언
다음과 같은 형식의 스칼라 함수 선언 :
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
스칼라 함수 언어이므로,이 함수는 스칼라 언어의 핵심이다. 여기에 몇 가지 기능 개념은 우리가 더 나은 스칼라 프로그래밍을 이해하는 데 도움이 있습니다 :
분석 함수 개념을 연결 케이스 | ||
---|---|---|
이름 호출에 의해 기능 (통화 별 이름) | 함수 인수의 이름을 지정합니다 | |
기능 - 변수 매개 변수 | 재귀 함수 | |
기본 매개 변수 값 | 고차 함수 | |
중첩 된 기능 | 익명 함수 | |
일부 기능 응용 프로그램 | 카레 기능 (기능 커링) |