논리 연산자 파트 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 (기본 동작)괄호가 엄격하게 필요하지 않은 경우에도, 괄호를 추가하면 복잡한 표현식을 더 읽기 쉽게 만드는 경우가 많습니다. 확실하지 않을 때는 괄호를 사용하여 조건이 어떻게 그룹화되어야 하는지 명시적으로 보여주세요.
챌린지
쉬움다음과 같은 변수들이 제공됩니다:
x = true
y = false
z = true
a = false다음 식들을 평가하고 각 결과를 별도의 줄에 표시하세요. 연산자 우선순위에 주의하세요: !가 가장 먼저 평가되고, 그다음 &&, 마지막으로 ||가 평가됩니다.
x || y && z!y && zx && y || z!a || y && zx && !y && z(x || y) && ax || (y && a)!(x && y) || z
각 출력은 true 또는 false여야 합니다.
치트 시트
Ruby는 연산자 우선순위에 따라 특정 순서로 논리 연산자를 평가합니다:
!(not) - 가장 높은 우선순위&&(and) - 중간 우선순위||(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 # 여기에 식을 입력하세요이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.