고차함수 - 함수를 인자로 받거나, 리턴해주는 함수 1. 값으로서 함수 - 함수를 변수에 저장할수 있다. scala> val fun = ceil _ fun: Double => Double = < function1 > ceil은 임의수보다 크거나 같은 수 가장 작은 수를 리턴해주는 함수이다. 기술적으로 _는 ceil 메소드를 함수로 바꾼다. 스칼라에서 메소드는 조작할 수 없고, 오직 함수만 가능. 2. 익명함수 scala> Array ( 3.14 , 1.42 , 2.0 ).map((x: Double )=> 3 *x) res5: Array [ Double ] = Array ( 9.42 , 4.26 , 6.0 ) 익명클래스도 그렇고, 이제는 익명이 조금 익숙해지기 시작한다. 함수의 실행순서가 중요해보인다. 3. 함수인자를 받는함수 scala> def mulBy (factor : Double ) = (x : Double ) => factor * x mulBy: (factor: Double ) Double => Double scala> val quintuple = mulBy( 5 ) quintuple: Double => Double = < function1 > scala> quintuple( 20 ) res7: Double = 100.0 quintuple 은 mulBy(5) 즉, (x:Double) => 5 * x 를 리턴한다. mulBy는 어떤 값을 곱하는 함수를 생성한다. 팩토리 같기도하고 클래스 같기도하고.. ㅎ 4. 인자추론 scala> def valueAtOneQuarter (f:( Double ) => Double ) = f( 0.25 ) valueAtOneQuarter: (f: Double => Double ) Double sca...