[SCALA] 스칼라는 최소한의 기능을 강조
SCALA스칼라는 최소한의 기능을 강조
의이 질문을 위해 값을 만들어 보자 :
val a = 1 :: Nil
지금, 나는 익명 함수가이 같은 축약 형태로 기록 될 수 있다는 것을 보여줄 수 :
a.map(_*2)
그것은이 함수의 속기를 작성하는 것이 가능하다?
a.map((x) => x)
내 솔루션은 작동하지 않습니다
a.map(_)
해결법
-
==============================
1.첫 번째 속기 양식은 포인트 - 무료로 쓸 수있다
첫 번째 속기 양식은 포인트 - 무료로 쓸 수있다
a map (2*)
덕분에 교환 법칙이 성립되는 곱셈합니다.
(X)에 관해서> X, 당신은 신원 기능을 원하는 =. 이 PREDEF에 정의 및 일반, 그래서 당신은 입력 안전하다고 확신 할 수있다.
-
==============================
2.공식적으로는 X => a.map (x)를 의미하기 때문에, a.map (_)는 작동하지 않으며, (X => x)를 a.map 없습니다. 매개 변수 대신에 _ 하나가 부분적으로 적용되는 기능을 의미하기 때문입니다. 익명 함수를 의미합니다 2 * _의 경우,. 이 두 가지 용도는 그들에 의해 혼동하기가 매우 일반적입니다 너무 가까이 있습니다.
공식적으로는 X => a.map (x)를 의미하기 때문에, a.map (_)는 작동하지 않으며, (X => x)를 a.map 없습니다. 매개 변수 대신에 _ 하나가 부분적으로 적용되는 기능을 의미하기 때문입니다. 익명 함수를 의미합니다 2 * _의 경우,. 이 두 가지 용도는 그들에 의해 혼동하기가 매우 일반적입니다 너무 가까이 있습니다.
-
==============================
3.이 사용 사례에 대한 식별 기능을 사용해야합니다.
이 사용 사례에 대한 식별 기능을 사용해야합니다.
a.map(identity)
ID는 scala.Predef에 다음과 같이 정의된다
implicit def identity[A](x: A): A = x
from https://stackoverflow.com/questions/4422016/scala-underscore-minimal-function by cc-by-sa and MIT license
'SCALA' 카테고리의 다른 글
[SCALA] MatchError 스파크 2.0 벡터 열에 액세스 할 때 (0) | 2019.11.04 |
---|---|
[SCALA] 한 인수 함수를 호출 할 때 왜 그리고 어떻게 스칼라 특별히 튜플을 치료한다? (0) | 2019.11.04 |
[SCALA] 스파크 쉼표 목록, 어떻게 항아리의 디렉토리를 선언하는 원한다 --jars 인수를 스파크 제출? (0) | 2019.11.04 |
[SCALA] 어떻게 A [B [C]가] B로 변환하는 [A [C]] A와 B는 모나드가 있다면? (0) | 2019.11.04 |
[SCALA] 표준 출력에에 println ()를 잃고 스파크 (0) | 2019.11.04 |