루비 클로져
-
Programming Ruby (8) 트랜잭션을 위한 블록, 객체로서의 블록Ruby 2016. 10. 24. 23:50
[출처] Programming Ruby (본 게시물은 저작권의 문제 발생시 출판사의 요청에 의해 삭제될 수 있습니다.) 트랜잭션을 위한 블록 트랜잭션 제어 하에서 동작해야 하는 코드를 작성할때 블록을 사용할 수 있다. 예를 들어 파일을 열고 그내용으로 어떤 작업을 하고 이 작업을 마치면 이 파일이 닫힌다는 사실을 확신하고 싶다고 하자. 블록을 사용하는 방식은 단순하게 표현할수 있다. 다음 예제는 예외처리를 포함하지 않는 간단한 구현을 보여준다. class File def self.open_and_process(*args) f = File.open(*args) yield f f.close() end end File.open_and_process("testfile", "r") do |file| while l..