지도를 통한 이해를 위해 입력 뒤에서 혼란스러워합니다. 나의 이해는 외부 수집 유형은 일반적으로 보존되어있을 가능성이며, 우리는 다음과 같은 두 가지 경우에 예상 된 동작을 볼 :스칼라 - Map에서 Iterable으로의 예상치 못한 타입 전환을 위해?
scala> for {
| (k,v) <- Map(0->1,2->3)
| } yield k -> v
res0: scala.collection.immutable.Map[Int,Int] = Map(0 -> 1, 2 -> 3)
scala> for {
| (k,v) <- Map(0->1,2->3)
| foo = 1
| } yield k -> v
res1: scala.collection.immutable.Map[Int,Int] = Map(0 -> 1, 2 -> 3)
을하지만 이해를 위해 내부에 두 번째 할당을 추가 할 때 나는 놀라운 무언가를 얻을 :
scala> for {
| (k,v) <- Map(0->1,2->3)
| foo = 1
| bar = 2
| } yield k -> v
res2: scala.collection.immutable.Iterable[(Int, Int)] = List((0,1), (2,3))
왜 이런 일이 발생합니까?