Computer >> 컴퓨터 >  >> 프로그램 작성 >> Ruby

Ruby의 부울 값 이해

부울이란 무엇입니까?

부울은 어떤 것이 참 또는 거짓으로 간주되는지 여부를 말하기 위해 논리문에서 사용되는 값입니다.

결정에 사용할 수 있습니다. .

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 .

더 많은 사람들이 찾을 수 있도록 이 기사를 공유하는 것을 잊지 마세요 🙂

읽어주셔서 감사합니다.