에지도 Functional Programming Principles in Scala에서 컬렉션의 강의를 듣고, 나는이 예제를 보았다. 그러나지도를 만들 때 예상했던 것과 다른 결과를 얻었습니다.FlatMap 대 문자열
scala> s.map(c => ("." + c))
res8: scala.collection.immutable.IndexedSeq[String] = Vector(.H, .e, .l, .l, .o,
". ", .W, .o, .r, .l,
나는 호출 위에, 문자열을 반환 내가 map
-ing를 요하기 때문에, 즉 "순서"는 각 항목에 함수를 적용하고 새로운 "순서를."반환 할 것으로 예상
그러나, 나는 수행 할 수있는 map
보다는 flatmap
List[String]
A의 :
scala> val sList = s.toList
sList: List[Char] = List(H, e, l, l, o, , W, o, r, l, d)
scala> sList.map(c => "." + c)
res9: List[String] = List(.H, .e, .l, .l, .o, ". ", .W, .o, .r, .l, .d)
왜 문자열에 map
를 호출하는 IndexedSeq[String]
반환 형식이었다?
을
사용지도 방법을 사용하여 가방
에서 모든 정수를 추가하기 때문에 당신은 할 수 없습니다 하나의 Char 유형에 두 개의 문자를 넣으시겠습니까? 문자 + 문자는 문자열 유형을 생성하는 두 문자입니다. –