특정 변수가 정의되지 않았다면, 값을 저장하는 코드가 있다고 가정한다.
아마도 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
'Ruby' 카테고리의 다른 글
ruby on rails 애플리케이션 실행하기 (0) | 2016.10.12 |
---|---|
[ruby] File 존재 여부 확인할 때 홈 디렉토리 주의 (0) | 2016.08.18 |
[ruby] difference, union, intersection (0) | 2016.08.17 |
[ruby] 타입(type) 알기 (0) | 2016.08.17 |
[ruby] thrift gem 이슈 - shifting a negative signed value is undefined [-Werror,-Wshift-negative-value] (0) | 2016.08.17 |