'2016/10/18'에 해당되는 글 1건

  1. 2016.10.18 [scala] Stream.empty 패턴 매치



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








Posted by '김용환'
,