본문 바로가기
Web development/Ruby

[Ruby] ||= (or equals)란 무엇인가?

by 자몬다 2019. 6. 18.

a || a=b 과 같은 의미이다.

 

이래도 좀 헷갈리는데, 

a||=b 일때 a가 nil/false면 b를 대입한다는 의미이다.

 

반대로 a가 값을 가지고 있거나 true이면 값을 b로 변경하지 않겠다는 의미이기도 하다.

 

아래와 같은 경우처럼 사용된다.

@current_user ||= User.find_by_id(session[:user_id])

: current_user가 없는 경우, 세션에서 가져온 user_id로 유저를 찾아온다.

'Web development > Ruby' 카테고리의 다른 글

[Ruby] and vs && (or vs ||)  (0) 2019.06.18
[Ruby] Class와 Module의 차이점  (0) 2019.06.18
[Ruby] 함수를 동적으로 실행하기  (0) 2019.06.18
[Ruby] 인스턴스 변수  (0) 2019.06.18
[Ruby] 생성자(Constructor)  (0) 2019.06.18

댓글