[SCALA] 지도 운영에 튜플 포장 풀기
SCALA지도 운영에 튜플 포장 풀기
나는 자주, 자신 목록, Seqs 작업 및 튜플의 반복자하고 다음과 같은 일을하고 싶습니다 찾기
val arrayOfTuples = List((1, "Two"), (3, "Four"))
arrayOfTuples.map { (e1: Int, e2: String) => e1.toString + e2 }
그러나, 컴파일러는 결코이 구문에 동의 것 같다. 대신, 내가 쓰기 결국,
arrayOfTuples.map {
t =>
val e1 = t._1
val e2 = t._2
e1.toString + e2
}
어느 단지 바보입니다. 어떻게이 주위를받을 수 있나요?
해결법
-
==============================
1.업무용 주위는 사용 사례이다 :
업무용 주위는 사용 사례이다 :
arrayOfTuples map {case (e1: Int, e2: String) => e1.toString + e2}
-
==============================
2.tupled 기능과 같은 I; 그것은 모두 편리가 아닌 이상, 안전 입력 :
tupled 기능과 같은 I; 그것은 모두 편리가 아닌 이상, 안전 입력 :
import Function.tupled arrayOfTuples map tupled { (e1, e2) => e1.toString + e2 }
-
==============================
3.왜 사용하지 않는
왜 사용하지 않는
arrayOfTuples.map {t => t._1.toString + t._2 }
어디 _ 작업 매개 변수를 여러 시간 또는 다른 순서, 또는 중첩 된 구조로하지 않는이 필요한 경우,
arrayOfTuples map {case (i, s) => i.toString + s}
짧은하지만, 읽을 수있는 형태가 될 것으로 보인다.
-
==============================
4.또 다른 옵션은
또 다른 옵션은
arrayOfTuples.map { t => val (e1,e2) = t e1.toString + e2 }
-
==============================
5.도티 (스칼라 (3)의 재)와, 파라미터가 untupling 확장 같은 구문을 허용되었음을주의 :
도티 (스칼라 (3)의 재)와, 파라미터가 untupling 확장 같은 구문을 허용되었음을주의 :
// val tuples = List((1, "Two"), (3, "Four")) tuples.map(_.toString + _) // List[String] = List("1Two", "3Four")
여기서 각 튜플 _ 관련 부분을 위해 말한다.
-
==============================
6.나는 이해가 가장 자연스러운 솔루션은 여기에 대한 생각 :
나는 이해가 가장 자연스러운 솔루션은 여기에 대한 생각 :
for ((e1, e2) <- arrayOfTuples) yield { e1.toString + e2 }
from https://stackoverflow.com/questions/6905207/tuple-unpacking-in-map-operations by cc-by-sa and MIT license
'SCALA' 카테고리의 다른 글
[SCALA] 스칼라에서 영구 데이터 구조 (0) | 2019.11.25 |
---|---|
[SCALA] 세트, 펑 및 식의 혼란 (0) | 2019.11.25 |
[SCALA] 어떻게 스칼라 또는 Java에서 혼합 된 인코딩 된 텍스트 파일을 읽을 수? (0) | 2019.11.25 |
[SCALA] 스칼라의 byte 배열로 파일을 읽는 방법 (0) | 2019.11.25 |
[SCALA] 매크로에서 익명 클래스의 방법과 구조 유형을 얻기 (0) | 2019.11.25 |