| 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 사용.
잘 알고 써야겠다.
'Web development > Ruby' 카테고리의 다른 글
[Ruby] clone, dup, deep_dup (0) | 2019.06.18 |
---|---|
[Ruby] 외부 파일 참조하기 - require, load, include, extend (0) | 2019.06.18 |
[Ruby] Block vs Proc vs Lambda (0) | 2019.06.18 |
[Ruby] and vs && (or vs ||) (0) | 2019.06.18 |
[Ruby] Class와 Module의 차이점 (0) | 2019.06.18 |
댓글