Menu
Coddy logo textTech

Mantıksal Operatörler Bölüm 4

Coddy'nin Ruby Journey'sinin Temeller bölümünün bir parçası — ders 20 / 88.

Birden fazla mantıksal operatörü tek bir ifadede birleştirdiğinizde, Ruby bunları operatör önceliğine dayalı belirli bir sırayla değerlendirir. Bu sırayı anlamak, doğru koşullar yazmanıza ve beklenmedik sonuçlardan kaçınmanıza yardımcı olur.

En yüksekten en düşüğe işlem önceliği şöyledir: ! (değil), ardından && (ve) ve son olarak || (veya). Bu, önce ! işaretinin, ardından && işaretinin ve son olarak || işaretinin değerlendirildiği anlamına gelir:

true || false && false   # true (önce && değerlendirilir)
# Şununla aynıdır: true || (false && false)

!false && true           # true (önce ! değerlendirilir)
# Şununla aynıdır: (!false) && true

Varsayılan önceliği geçersiz kılmak ve niyetinizi netleştirmek için parantez kullanabilirsiniz:

(true || false) && false  # false (parantezler önce || işlemini zorlar)
true || (false && false)  # true (varsayılan davranış)

Parantezler kesinlikle gerekli olmasa bile, bunları eklemek karmaşık ifadelerin okunmasını genellikle kolaylaştırır. Şüpheye düştüğünüzde, koşulların nasıl gruplandırılması gerektiğini açıkça göstermek için parantez kullanın.

challenge icon

Görev

Kolay

Size aşağıdaki değişkenler verilmiştir:

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

Aşağıdaki ifadeleri değerlendirin ve her bir sonucu ayrı bir satırda görüntüleyin. İşlem önceliğine dikkat edin: önce ! değerlendirilir, ardından && ve son olarak || gelir.

  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

Her çıktı true veya false olmalıdır.

Kopya kağıdı

Ruby, mantıksal operatörleri operatör önceliğine göre belirli bir sırayla değerlendirir:

  1. ! (not) - en yüksek öncelik
  2. && (and) - orta öncelik
  3. || (or) - en düşük öncelik

Operatör önceliği örnekleri:

true || false && false   # true (önce && değerlendirilir)
# Şununla aynı: true || (false && false)

!false && true           # true (önce ! değerlendirilir)
# Şununla aynı: (!false) && true

Varsayılan önceliği geçersiz kılmak veya okunabilirliği artırmak için parantez kullanın:

(true || false) && false  # false (parantezler önce || operatörünü zorlar)
true || (false && false)  # true (varsayılan davranış)

Kendin dene

# Değişkenler sizin için önceden tanımlanmıştır
x = true
y = false
z = true
a = false

# TODO: Her bir ifadeyi değerlendirin ve sonucu ayrı bir satıra yazdırın
# İşlem önceliğini unutmayın: önce !, sonra &&, sonra ||

# 1. x || y && z
puts # ifadeniz buraya

# 2. !y && z
puts # ifadeniz buraya

# 3. x && y || z
puts # ifadeniz buraya

# 4. !a || y && z
puts # ifadeniz buraya

# 5. x && !y && z
puts # ifadeniz buraya

# 6. (x || y) && a
puts # ifadeniz buraya

# 7. x || (y && a)
puts # ifadeniz buraya

# 8. !(x && y) || z
puts # ifadeniz buraya
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler