부울이란 무엇입니까?
부울은 어떤 것이 참 또는 거짓으로 간주되는지 여부를 말하기 위해 논리문에서 사용되는 값입니다.
결정에 사용할 수 있습니다. .
Ruby에는 부울 클래스가 없지만 부울 객체가 있습니다!
true
가 있습니다. &false
.
TrueClass
의 싱글톤 객체는 무엇입니까? &FalseClass
.
다음과 같은 방법을 사용하면 부울 값을 얻습니다. :
empty?
all?
match?
등호로 비교 :
1 == 1 # true
==
Ruby에서도 메서드가 있으므로 이 메서드를 구현하는 방법에 따라 동작이 변경될 수 있습니다.
진실 및 거짓 가치
진실한 가치란 무엇입니까?
true
로 간주되는 값입니다. if 문과 같은 부울 컨텍스트에서.
Ruby의 모든 것은 사실이지만 이 두 가지 :
false
nil
이 두 값과 이 두 값만 "거짓"이라고 부릅니다.
실제 부울
즉, 조건이 있는 경우...
좋아요 :
if bacon puts "we got bacon" end
Ruby는 bacon
인지 확인합니다. 진실입니다(false
이외의 모든 것) / nil
) 문자열을 인쇄하기 전에.
즉 :
bacon
에서 메소드를 호출하지 않는 경우 nil을 확인할 필요가 없습니다. .
세이프 네비게이터
때때로 개체에 대한 메서드를 호출하고 싶을 때가 있습니다.
좋아요 :
if bacon.stock # ... end
bacon
nil입니다. 이를 방지하기 위해 다음을 수행할 수 있습니다...
예 :
if bacon&.stock # ... end
이 &.
안전 탐색 연산자라고 하며 Ruby 2.3에서 도입되었습니다.
부울 메서드
이 메서드가 물음표로 끝나는 것을 본 적이 있습니까?
empty?
가 좋아요? .
우리는 이러한 "술어 메서드"를 호출하며 규칙에 따라 항상 true
를 반환합니다. 또는 false
.
나만의 글을 작성할 수 있습니다. :
def published? # ... end def ready? # ... end
이것은 코드를 Ruby처럼 보이게 하는 훌륭한 패턴입니다.
부울 매개변수는 좋은 생각이 아닙니다.
우리는 방금 부울 메서드를 다루었습니다. 훌륭하지만 피하고 싶은 것은 부울 매개변수입니다.
예 :
def bacon(raw) end bacon(false)
bacon(false)
을 보면 이 false
가 무엇인지 모르십니까? 의미합니다.
알아내려면 코드를 파헤쳐야 합니다.
게다가 부울 값은 방법이 필요한 것보다 더 복잡할 것임을 의미합니다. .
해결책은?
방법을 둘로 나누거나 이것이 필요하지 않은 방식으로 코드를 디자인하십시오.
부울 논리
TrueClass 및 FalseClass는 몇 가지 메서드를 구현합니다.
to_좋아요, 확인하세요.
하지만 더 흥미로운 것은 :
&
|
^
이 이상하게 보이는 방법은 무엇입니까?
부울 논리.
다음은 부울 논리 테이블입니다. :
이름 | 기호 | 참 / 참 | 참/거짓 |
---|---|---|---|
그리고 | & | 참 | 거짓 |
또는 | | | 참 | 참 |
XOR | ^ | 거짓 | 참 |
예 :
true & true
우리는 코드에서 부울 논리를 사용하지 않는 경우가 많지만, 부울 논리는 컴퓨터 작동 방식의 기초를 형성하므로 이에 대해 아는 것이 흥미롭습니다.
요약
Ruby의 부울 값에 대해 배웠습니다! false
만 제외하고 모든 것이 "진실"임을 기억하십시오. &nil
.
더 많은 사람들이 찾을 수 있도록 이 기사를 공유하는 것을 잊지 마세요 🙂
읽어주셔서 감사합니다.