scala
[scala] Stream.empty 패턴 매치
'김용환'
2016. 10. 18. 11:06
Stream 객체를 사용할 때 Stream.empty에 대해서 패턴 매칭을 사용할 수 없다.
다음 예시를 실행해보면, 에러가 발생한다.
val streamRange = Stream.range(0, 1)
streamRange match {
case Stream.empty => println("empty")
case _ => println("ok")
}
Error:(13, 17) stable identifier required, but scala.`package`.Stream.empty found.
case Stream.empty => println("empty")
Stream.empty는 메소드이기 때문이다. Stream.empy 메소드의 값을 empty로 받고 패턴 매칭하면 제대로 동작한다.
val streamRange = Stream.range(0, 1)
val empty = Stream.empty
streamRange match {
case empty => println("empty")
case _ => println("ok")
}
결과는 다음과 같다.
empty