Menu
Coddy logo textTech

논리 연산자 파트 3

Coddy Ruby 여정의 기초 섹션에 포함된 레슨 — 88개 중 19번째.

Ruby는 또한 논리 연산자에 대한 단어 기반 대안인 and, or, not을 제공합니다. 이들은 &&, ||, !와 유사하게 작동하지만, 한 가지 중요한 차이점이 있습니다. 바로 우선순위가 더 낮다는 점입니다.

true and false   # false (&&와 동일)
true or false    # true (||와 동일)
not true         # false (!와 동일)

낮은 우선순위는 이러한 연산자들이 할당 이후에 평가됨을 의미합니다. 이는 예상치 못한 동작으로 이어질 수 있습니다:

result = true && false   # result는 false입니다
result = true and false  # result는 true입니다!

두 번째 예제에서는 할당이 먼저 일어나고 (result = true), 그 다음 and false가 평가되지만 그 결과는 무시됩니다. 이것이 대부분의 Ruby 개발자들이 조건문에 &&, ||, !를 선호하는 이유입니다.

단어 버전은 보통 나중에 접하게 될 제어 흐름 상황을 위해 예약되어 있습니다. 지금은 예기치 않은 상황을 피하기 위해 조건을 작성할 때 기호 연산자(&&, ||, !)를 사용하세요.

challenge icon

챌린지

쉬움

다음과 같은 변수들이 제공됩니다:

a = true
b = false
c = true

단어 기반의 논리 연산자(and, or, not)를 사용하여 다음 표현식들을 평가하고 각 결과를 별도의 줄에 출력하세요:

  1. a and b
  2. a or b
  3. not b
  4. a and c
  5. b or c
  6. not a

각 출력 결과는 true 또는 false여야 합니다.

치트 시트

Ruby는 논리 연산자에 대해 단어 기반의 대안을 제공합니다: and, or, 그리고 not. 이들은 &&, ||, !와 유사하게 작동하지만, 우선순위가 더 낮습니다.

true and false   # false
true or false    # true
not true         # false

낮은 우선순위는 이러한 연산자들이 할당 이후에 평가됨을 의미하며, 이는 예상치 못한 동작으로 이어질 수 있습니다:

result = true && false   # result는 false입니다
result = true and false  # result는 true입니다!

두 번째 예제에서는 할당이 먼저 발생하고(result = true), 그 다음 and false가 평가되지만 그 결과는 버려집니다.

대부분의 Ruby 개발자들은 예상치 못한 상황을 피하기 위해 조건문에 &&, ||, !를 사용하는 것을 선호합니다. 단어 버전은 일반적으로 제어 흐름 상황을 위해 예약되어 있습니다.

직접 해보기

# 변수들이 제공됩니다
a = true
b = false
c = true

# TODO: 아래에 코드를 작성하세요
# 단어 기반 논리 연산자(and, or, not)를 사용하여 각 식을 평가하고 출력하세요
# 각 결과는 별도의 줄에 출력되어야 합니다
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

기초의 모든 레슨