본문 바로가기
Web development/Ruby

[Ruby] nil? empty? blank? 차이점

by 자몬다 2019. 6. 18.
      | nil?  | empty?        | blank?
------|-------|---------------|--------
[]    | false | true          | true
{}    | false | true          | true
‘’    | false | true          | true
‘ ‘   | false | false         | true
0     | false | NoMethodError | false
nil   | true  | NoMethodError | true
false | false | NoMethodError | true

nil?은 말그대로 nil인지 검사하는 것. nil이면 true, 아니면 false.

empty?는 비어있는지만 검사한다. 공백문자도 false를 반환함. 0/nil/false에 대해선 에러 발생.

blank?는 "비어있다"기보다 "공백"인지 검사한다는 개념에 가깝다. 0은 빈값으로 인식하지 않음.

 

nil인지 확인할때만 nil을 사용.

배열이 비어있는지 확인할땐 empty나 blank를 사용.

입력값이 공백밖에 없는건 아닌지 확인할땐 blank 사용.

 

잘 알고 써야겠다.

댓글