[루비] 진짜 뭐야?
사소한 일이라도 빈번하게 내보내야 한다.
미래를 위한 자신의 보도입니다.
※ 검증 루비 버전: 2.7.2
결론
루비에서
false
와 nil
를 제외한 모든 값은 진짜다.True 및 False
Ruby에서 모든 데이터 값은 범주에 속하는 객체입니다.
물론 진위도 예외는 아니다.
irb> true.class
=> TrueClass
irb> false.class
=> FalseClass
irb> true.class.ancestors
=> [TrueClass, Object, Kernel, BasicObject]
irb> false.class.ancestors
=> [FalseClass, Object, Kernel, BasicObject]
가짜와nil 이외에 진짜라면 0
와
(빈 문자)도 진짜다.# 「0」は true
irb> p 0 ? true : false
true
=> true
# 「 」もtrue
irb> p '' ? true : false
(irb):15: warning: string literal in condition
true
=> true
그러나 다른 언어의'0'은 대부분이 가짜이고 자바스크립트의 0과 빈 문자는 가짜입니다.nil와 가짜
nil?
방법으로 니엘과 가짜를 구분할 수 있다.irb> a = nil
=> nil
irb> a.nil?
=> true
irb> b = false
=> false
irb> b.nil?
=> false
루비 프로그램을 쓰면 nil이 섞일 수 있어 nil 검사를 자주 한다nil 대상이 형식 변환을 한 후 nil을 피할 수 있습니다.
irb> nil.to_s
=> ""
irb> nil.to_i
=> 0
irb> nil.to_a
=> []
irb> nil.to_h
=> {}
irb> nil.to_sym
NoMethodError (undefined method `to_sym' for nil:NilClass)
to_sym
안 될 것 같아요.추기
루비의 진/가짜와 진/가짜를 혼동한 다음 글은 매우 참고 가치가 있다.
루비의 진/가짜와 진/가짜는 다르다
Reference
이 문제에 관하여([루비] 진짜 뭐야?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/shima_zu/articles/ruby_boolean텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)