프로그래밍/Ruby

Ruby 에서 Block 표현식 사용 이야기

seungdols 2015. 7. 25. 18:22



-Ruby Doc

http://ruby-doc.org/core-2.2.0/Integer.html#method-i-upto

http://ruby-doc.org/core-2.2.0/Integer.html#method-i-times

ruby에서 integer class의 경우 메소드를 지원합니다. 그 중 하나가 times라는 메소드입니다만,

하는 일은 반복횟수.times { 내용 }의 형식으로 작성하게 되면, 반복을 명시한 반복 횟수만큼 실행합니다.

그 밑의 upto의 경우는 좀 더 이해하기 까다롭습니다.

무슨 의미냐 하면, 기준 숫자.upto(목표) { 내용 }의 형식으로 쓰면 기준 숫자에서 목표까지 반복하게 됩니다.

몇 번 반복 하라고 시키는 것이 아니라 이 숫자가 5까지 되도록 반복하라고 하는 말과 같습니다.


두 메소드의 차이는 그렇습니다.

딱히 어렵게 이해하시지 마시고, 그저 쉽게 이런게 있구나 하고 이해하시면 될 것 같습니다.


사실 이 표현은 Block 표현식이라고도 합니다. | i | 이렇게 파이프 기호 안에 변수를 넣게 되면 1 부터 i 에 대입 되고 목표 숫자까지 i 변수에는 값이 담기게 됩니다.


오히려 반복문보다 편하고 간결하게 사용 할 수 있는 이점이 있습니다.





반응형