2
스칼라에서 책을 읽는 동안 나는 다음 코드를 우연히 발견했다. 함수, 매개 변수, 변수에 코드를 분리 할 수 없습니다.아래 코드를 디코딩 스카라 코드
val feeds = Map("Andy Hunt" -> "blog.toolshed.com",
"Dave Thomas" -> "pragdave.me",
"NFJS" -> "nofluffjuststuff.com/blog")
val fiterName = feeds filter { element =>
val (key, value) = element
(key startsWith "D") && (value contains "pragprog")
}
코드를 단계별로 설명 할 수 있습니까?
그럼 내가 이해하는
Tuple2[String, String]
걸리고 이름으로 튜플의 구성 요소에 액세스 할 수 있도록, 그것은unapply
메소드의 호출: 필터 내부, 그들은 튜플 해체를 사용 코드를보고 있지만 궁금한 점은 무엇입니까? spec 필터에 따라 술어 (String, String) => 부울을 취합니다. 그걸 염두에두고 val (key, value) = element는 무엇을 의미합니까? 어떤 값에서 부울 표현식 (키 startsWith "D") && ("pragprog"값 포함)이 호출됩니까? – Gurupraveen
@Gurupraveen 귀하의 질문에 대한 답변을 업데이트했습니다. –
고맙습니다. 좋은 설명과 설득력이있었습니다. – Gurupraveen