[SCALA] 스칼라 함수 리터럴은 무엇인가?
SCALA스칼라 함수 리터럴은 무엇인가?
어떤 스칼라 함수 리터럴은 내가 그들에게 때를 사용해야합니까?
해결법
-
==============================
1.함수 리터럴 함수를 정의하기위한 대체 문법이다. 당신이하는 방법 (접이식 또는 필터 작업 등 특히 고차 하나)에 인수로 함수를 전달하려는하지만 별도의 함수를 정의하지 않을 때 유용합니다. 함수 리터럴은 익명입니다 - 그들은 기본적으로 이름이없는,하지만 당신은 변수로 바인딩하여 그들에게 이름을 지정할 수 있습니다. 함수 리터럴과 같이 정의된다 :
함수 리터럴 함수를 정의하기위한 대체 문법이다. 당신이하는 방법 (접이식 또는 필터 작업 등 특히 고차 하나)에 인수로 함수를 전달하려는하지만 별도의 함수를 정의하지 않을 때 유용합니다. 함수 리터럴은 익명입니다 - 그들은 기본적으로 이름이없는,하지만 당신은 변수로 바인딩하여 그들에게 이름을 지정할 수 있습니다. 함수 리터럴과 같이 정의된다 :
(a:Int, b:Int) => a + b
당신은 변수에 바인딩 할 수 있습니다 :
val add = (a:Int, b:Int) => a + b add(1, 2) // Result is 3
내가 전에 말했듯이, 함수 리터럴은 higher-order 함수에 인수로 전달하는 데 유용합니다. 그들은 또한 다른 함수 내에 중첩 한 라이너 또는 보조 함수를 정의하는 유용하다.
스칼라의 투어는 함수 리터럴 꽤 좋은 참조를 (그들에게 익명의 함수를 호출) 제공합니다.
-
==============================
2.스칼라에서 리터럴 다른 종류의 함수 리터럴을 비교하는 것이 유용 할 수 있습니다. 리터럴은 언어가 특히 중요 고려 일부 유형의 값을 나타내는 표기 설탕입니다. 일류 값 함수 리터럴하여 소스 코드에서 표현할 수는 정수로 스칼라 리터럴 문자 리터럴 스트링 리터럴 등 스칼라 취급 기능을 갖는다. 이 함수 값은 특수 기능 유형을 살고. 예를 들어,
스칼라에서 리터럴 다른 종류의 함수 리터럴을 비교하는 것이 유용 할 수 있습니다. 리터럴은 언어가 특히 중요 고려 일부 유형의 값을 나타내는 표기 설탕입니다. 일류 값 함수 리터럴하여 소스 코드에서 표현할 수는 정수로 스칼라 리터럴 문자 리터럴 스트링 리터럴 등 스칼라 취급 기능을 갖는다. 이 함수 값은 특수 기능 유형을 살고. 예를 들어,
리터럴은 종종 먼저라는 이름의 변수를 경계하지 않고, 익명 인 값으로 사용된다. 이 프로그램을보다 간결하게하는 데 도움이 리터럴가 재사용 될 운명이되지 않을 때 적합합니다. 예를 들면 :
List(1,2,3).filter((x: Int) => x > 2)
대
val one: Int = 1 val two: Int = 2 val three: Int = 3 val greaterThan2: (Int => Int) = (x: Int) => x > two List(one,two,three).filter(greaterThan2)
from https://stackoverflow.com/questions/5241147/what-is-a-function-literal-in-scala by cc-by-sa and MIT license
'SCALA' 카테고리의 다른 글
[SCALA] 나는 RDD의 아파치 스파크에서 반복 어떻게 (스칼라) (0) | 2019.11.08 |
---|---|
[SCALA] 스칼라 2.8 CanBuildFrom (0) | 2019.11.08 |
[SCALA] 무엇 * 너무 *의 경우 클래스 상속 문제? (0) | 2019.11.08 |
[SCALA] <: 스칼라 <연산자 (0) | 2019.11.08 |
[SCALA] 배와 foldLeft 또는 foldRight의 차이? (0) | 2019.11.08 |