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) && trueVarsayı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.
Görev
KolaySize aşağıdaki değişkenler verilmiştir:
x = true
y = false
z = true
a = falseAş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.
x || y && z!y && zx && y || z!a || y && zx && !y && z(x || y) && ax || (y && a)!(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:
!(not) - en yüksek öncelik&&(and) - orta öncelik||(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) && trueVarsayı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 burayaBu 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
4Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Özet - Basit MantıkMantıksal Operatörler Bölüm 3Mantıksal Operatörler Bölüm 47Hesap Paylaşımı Hesaplayıcısı
Hoş Geldiniz MesajıKullanıcı Girdisi Alma13İleri Seviye Diziler
Aralıklar ile Dizi Dilimlemeİndeksler ile Dizi DilimlemeDizi OperatörleriInclude? Metodu2Değişkenler ve Veri Tipleri
Sayılar ve DeğişkenlerString Veri TipiBoolean Veri TipiSymbol Veri TipiVeri Tiplerini Kontrol Etmeİsimlendirme KurallarıÖzet - Değişken Oluşturma8Döngüler
Aralıklar ile For DöngüsüWhile DöngüsüBreakNextÖzet - FaktöriyelTimes DöngüsüUntil Döngüsüİç İçe DöngülerÖzet - Dinamik Girdi3Operatörler Bölüm 1
Aritmetik OperatörlerModulo OperatörüAritmetik KısayollarÖzet - Basit MatematikKarşılaştırma Operatörleri6Temel IO
puts ile Çıktı Almaprint ve p ile Çıktı AlmaDeğişkenlerle Çıktı Almagets ile Girdi AlmaChomp MetoduTip DönüşümüÖzet - Yaş HesaplayıcıÖzet - Doğru mu Yanlış mı9Metotlar
Metot TanımlamaMetot ParametreleriDönüş DeğerleriÖzet - Sigma MetoduÖzet - Doğrulama MetoduVarsayılan Parametre Değerleri12Koleksiyonlar Üzerinde Yineleme
Each Yineleyicisiİndeks ile EachStringler Üzerinde YinelemeMap ve Collect