[ruby] or equals 기능 - ||=

Ruby 2016. 8. 17. 21:03



특정 변수가 정의되지 않았다면, 값을 저장하는 코드가 있다고 가정한다.

아마도 c/c++/java에 익숙한 개발자라면, 다음과 같이 코드를 짤 수 있다. 


xx = 3
unless defined? xx
xx = [1,2,3].inject(0) { |sum, t| sum + t }
end
puts xx


ruby에서는 or equals 라는 ||=를 사용하면, if 또는 unless 문 없이 쉽게 한 줄로 구현할 수 있다. 


xx = 3
xx ||= [1,2,3].inject(0) { |sum, t| sum + t }
puts xx


Posted by '김용환'
,