ruby lazy
-
Programming Ruby (7)루비 2의 게으른 열거자Ruby 2016. 10. 24. 23:48
[출처] Programming Ruby (본 게시물은 저작권의 문제 발생시 출판사의 요청에 의해 삭제될 수 있습니다.) 루비2의 게으른 열거자 열거자를 통해 무한한 시퀀스를 생성하는 데는 문제가 하나있다. select 와 같은 탐욕적(?)이지 않은 특별한 메서드를 만들어야 한다. 다행히도 루비 2.0에는 이러한 기능이 내장되어 있다. 어떤 루비 열거자이든 Enumerator#lazy 메서드를 호출하면 Enumerator::Lazy 객체를 반환한다. 다른 열거자와 같은 방식으로 동작하지만 무한한 시퀀스에 대해서도 정상적으로 동작하도록 select는 map과 같은 메서드들이 재정의 되어 있다. 이를 다른 방식으로 표현하자면 게으른 버전의 메서드들은 데이터가 요청되기 전까지는 어떠한 데이터도 사용하지 않는다...