scalac 학습 노트 (2): 추출 기와 편 함수

2397 단어 빅 데이터
편 함수: 시퀀스 의 모든 요소 에 적용 되 고 마지막 으로 새로운 시퀀스 를 되 돌려 줍 니 다.  - 편 함수 했 어 요. filter 화해시키다 map 할 일.
사례 1: 한 배열 에서 25 보다 작고 3 이상 의 이름 을 걸 러 냅 니 다.배열 val wordFrequencies = ("habitual", 6): ("and", 56): ("consuetudinary", 2)::  ("additionally", 27) :: ("homely", 5) :: ("society", 13) java 8 의 함수 식 쓰기 (대상 이 내장 되 어 있 음) list. stream (). filter (o - > o. getSize () < 25 & o. getSize () > 3). map (A: getName). collect (Collectors. toList ());
scalac 쓰기 1:
wordFrequencies.filter(wf => wf._2 > 3 && wf._2 < 25).map(_._1)
쓰기 에 있어 서 자바 8 과 거의 일치 합 니 다.
최적화 쓰기 1: 패턴 일치 형식의 익명 함수 (위의 매개 변수 구조 보다 선명 하 게 보 입 니 다)
 wordFrequencies.filter { case (_, f) => f > 3 && f < 25 } map { case (w, _) => w }

편 함수 표기 법
val pf: PartialFunction[(String, Int), String] = {
  case (word, freq) if freq > 3 && freq < 25 => word
}
wordFrequencies.collect(pf) // List("habitual", "homely", "society")
관건 적 인 표기 법 은 collecet 의 정의 이 고 A, B 는 각각 list 대상 의 key, value 이다. 
def collect[B](pf: PartialFunction[A, B]): Seq[B]

좋은 웹페이지 즐겨찾기