나 자신에게 물으면 더 좋은 코드를 볼 것이라고 생각한다. object.not_nil?
vs !object.nil?
. 그래서 내 질문 : 정말 아무 편의 방법이 있습니까? nil? 설탕 먹을 래? 내 눈앞에 있나요? 나는 그것을 볼 수 없습니까, 아니면 중요한 점을 놓치고 있습니까?! nil에 대한 편리한 방법이 있습니까?
답변
어때?
not object.nil?
그러나 할 수있는 쉬운 일이 변수 자체를 테스트하여의 "truthiness"를 확인하는 것입니다.
nil
은 암시 적으로
false
이므로
object
을 확인할 수 있습니다.
고마워요! 그것은 많은 의미를가집니다 :) –
"not object.nil?" "! object.nil"보다 항상 더 나은 선택은 아니지만 일부 구문에서는 "not"가 다음 표현식에 너무 느슨하게 바인딩됩니다. –
설탕을 상위 수준에서 섭취 할 수 있습니다. 대신에 :
if not object.nil?
당신은 쓸 수 있습니다 :이 약
unless object.nil?
나는 모두의 대답을 받아 들일 수 있으면 좋겠다. 감사! –
무엇을?
if object # sth end
object
거짓하지만 코드에 따라 경우 실행되지 않습니다 동일하지 않습니다, 그것은 더 좋을 수 있습니다. 당신이ruby-on-rails-3
로 질문을 태그로, (중 동일하지 않습니다)또 다른 해결책 :
present?
를 사용[]
또는!object.nil?
달리{}
의 블록을 실행하지 않습니다.다시 경우의 따라 다른 하나
unless
를 사용하여 조건이 더 복잡한 경우 (&&
및/또는||
로) 정말 좋은하지 않습니다.당신의 상태는이 양식의 경우 : 당신이 레일을 사용으로
if !object.nil? && object.something? # sth end
당신은 다음과 같이,
try
를 사용할 수 있습니다if object.try(:something?) # sth end
- 다른 모든 경우에
,
!object.nil?
또는not object.nil?
내가 추측하는 최상의 솔루션을 유지합니다.
약 #nil? Activesupport의 방법 #blank? 및 #present? 어느 쪽도 잊어서는 안된다.
nil.not_nil?
==> false
3.not_nil?
==> true
:
class Object
def not_nil?
!self.nil?
end
end
당신은 같은 일을 할 수있다 : 당신이 필요로 할 것입니다,하지만 당신은 not_nil?
에게 자신을 소개 할 수있는
하지 않음
a = []
10 a.not_nil?
==> true
- 1. NSIndexPath 개체를 만드는보다 편리한 방법이 있습니까?
- 2. nil에 대한 포인터가 NULL과 일치합니까?
- 3. 정의되지 않은 메소드 nil에 대한 주석 : NilClass
- 4. 편리한 방법이 배열 인덱스의 제 n 개라고 얻을 수있는 편리한 방법이 자바 스크립트
- 5. 내 자식 커밋에 mysqldump를 포함시키는 편리한 방법이 있습니까?
- 6. STL을 사용하여 컨테이너에서 가장 큰 요소를 찾는 편리한 방법이 있습니까?
- 7. 외부 호출을 일으키는 unittest를 감지하는 편리한 방법이 있습니까?
- 8. UIScrollView에 대한 큰보기를 만드는 편리한 방법은 무엇입니까?
- 9. NSDate 변수를 nil에 할당 할 수 있습니까?
- 10. 컬렉션에 편리한 IsNullOrEmpty 메서드가 있습니까?
- 11. 편리한 방법은
- 12. 편리한 초기화
- 13. C를위한 편리한 ORM 라이브러리 프레임 워크가 있습니까?
- 14. delayed_job : nil에 대한 정의되지 않은 메소드 'name': NilClass
- 15. 표 형식의 데이터를 읽고 쓰는 표준 (또는 편리한) 방법이
- 16. JSON 응답을보고 분석하기위한 편리한 도구가 있습니까?
- 17. 편리한 과부하 테스트를 복제해야합니까?
- 18. Objective-C에서 nil에 포인터를 설정해야합니까? 릴리스 후에?
- 19. 메서드에서 두 가지 "nil-like"가능한 반환 값을 갖는 편리한 방법이 있습니까?
- 20. 그 열을 표시하지 않고 XtraGrid GridView의 그룹 열을 기준으로 필터링하는 편리한 방법이 있습니까?
- 21. XtraGrid GridView의 그룹 열을 기준으로 필터링 할 수있는 편리한 방법이 있습니까?
- 22. MonoTouch : 둥근있는 UIImage 편리한 방법
- 23. 편리한 웹 API를 사용하여
- 24. Objective-C 편리한 매너
- 25. GDB의 편리한 변수에있는 값에 대한 심볼 정보 얻기
- 26. 게으른 인스턴스화 및 편리한 메소드
- 27. xcode를 사용하여 튜토리얼을 개발하는 편리한 편리한 iphone 앱
- 28. 루비 로깅 편리한 메소드
- 29. SQLAlchemy에서 테이블을 조인 할 때 충돌하는 열만 별칭을 지정하는 편리한 방법이 있습니까?
- 30. XAML의 일부 속성 값에 대한 엄격한 규칙과 편리한 구문
것은이 : 시간의 99 %는'전무 필요하지 않습니다'전혀?. 'obj.nil? '은'false'에서'nil'을 말하지 않는 한 (보통은 아님)'obj'라고 쓰여질 수 있습니다. – tokland
완벽하게 이해할 수 있습니다. –
분명히 나는'if! obj.nil?'->'if obj'를 의미했습니다. Ruby에서만 잘못된 값은'nil'과'false'이며 다른 모든 것은 true입니다. – tokland