욱'S 노트

Scala - 내포된 함수 본문

Programming/Scala

Scala - 내포된 함수

devsun 2016. 11. 2. 17:40

스칼라는 NESTED 함수 정의를 지원한다. 다음은 입력된 ArrayBuffer에서 특정값을 필터링하는 예제이다.

import scala.collection.mutable.ArrayBuffer

object NestedFunctionTest extends App {
def filter(list : ArrayBuffer[Int], filterValue : Int) = {
def filterInternal(list : ArrayBuffer[Int]) = {
val results = ArrayBuffer[Int]()

list.foreach(i => if (i != filterValue) results += i)

results
}

filterInternal(list)
}

println(filter(ArrayBuffer(1,2,3,4,5), 3))
}

내포된 함수에서는 외부 스코프에 존재하는 파라미터에 접근할 수 있다는 점에 유의하자.

ArrayBuffer(1, 2, 4, 5)


출처 : http://docs.scala-lang.org/tutorials/tour/nested-functions

'Programming > Scala' 카테고리의 다른 글

Scala - Case 클래스  (0) 2016.11.08
Scala - 커링  (0) 2016.11.04
Scala - 고차함수  (0) 2016.11.02
Scala - 익명 함수  (0) 2016.11.02
Scala - 믹스인 클래스 컴포지션  (0) 2016.11.01
Comments