Menu
Coddy logo textTech

논리 연산자 파트 4

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

하나의 표현식에서 여러 논리 연산자를 결합할 때, Ruby는 연산자 우선순위에 따라 특정 순서로 이를 평가합니다. 이 순서를 이해하면 올바른 조건을 작성하고 예기치 않은 결과를 방지하는 데 도움이 됩니다.

우선순위가 가장 높은 것부터 낮은 것 순서는 다음과 같습니다: ! (not), 그 다음은 && (and), 마지막으로 || (or). 이는 !가 가장 먼저 평가되고, 그 다음에 &&, 마지막으로 ||가 평가됨을 의미합니다:

true || false && false   # true (&&가 먼저 평가됨)
# 다음과 같음: true || (false && false)

!false && true           # true (!가 먼저 평가됨)
# 다음과 같음: (!false) && true

괄호를 사용하여 기본 우선순위를 무시하고 의도를 명확하게 할 수 있습니다:

(true || false) && false  # false (괄호가 ||를 먼저 실행하도록 강제함)
true || (false && false)  # true (기본 동작)

괄호가 엄격하게 필요하지 않은 경우에도, 괄호를 추가하면 복잡한 표현식을 더 읽기 쉽게 만드는 경우가 많습니다. 확실하지 않을 때는 괄호를 사용하여 조건이 어떻게 그룹화되어야 하는지 명시적으로 보여주세요.

challenge icon

챌린지

쉬움

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

x = true
y = false
z = true
a = false

다음 식들을 평가하고 각 결과를 별도의 줄에 표시하세요. 연산자 우선순위에 주의하세요: !가 가장 먼저 평가되고, 그다음 &&, 마지막으로 ||가 평가됩니다.

  1. x || y && z
  2. !y && z
  3. x && y || z
  4. !a || y && z
  5. x && !y && z
  6. (x || y) && a
  7. x || (y && a)
  8. !(x && y) || z

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

치트 시트

Ruby는 연산자 우선순위에 따라 특정 순서로 논리 연산자를 평가합니다:

  1. ! (not) - 가장 높은 우선순위
  2. && (and) - 중간 우선순위
  3. || (or) - 가장 낮은 우선순위

연산자 우선순위의 예:

true || false && false   # true (&&가 먼저 평가됨)
# 다음과 같음: true || (false && false)

!false && true           # true (!가 먼저 평가됨)
# 다음과 같음: (!false) && true

기본 우선순위를 무시하거나 가독성을 높이려면 괄호를 사용하세요:

(true || false) && false  # false (괄호가 ||를 먼저 실행하도록 강제함)
true || (false && false)  # true (기본 동작)

직접 해보기

# 변수들이 이미 정의되어 있습니다
x = true
y = false
z = true
a = false

# TODO: 각 식을 평가하고 결과를 별도의 줄에 출력하세요
# 연산자 우선순위를 기억하세요: !가 먼저, 그다음 &&, 그다음 ||

# 1. x || y && z
puts # 여기에 식을 입력하세요

# 2. !y && z
puts # 여기에 식을 입력하세요

# 3. x && y || z
puts # 여기에 식을 입력하세요

# 4. !a || y && z
puts # 여기에 식을 입력하세요

# 5. x && !y && z
puts # 여기에 식을 입력하세요

# 6. (x || y) && a
puts # 여기에 식을 입력하세요

# 7. x || (y && a)
puts # 여기에 식을 입력하세요

# 8. !(x && y) || z
puts # 여기에 식을 입력하세요
quiz icon실력 점검

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

기초의 모든 레슨