Unless İfadesi
Coddy'nin Ruby Journey'sinin Temeller bölümünün bir parçası — ders 25 / 88.
Ruby, bir şeyin doğru olmaması durumunda kod çalıştırmak istediğinizde koşulları ifade etmenin benzersiz bir yolunu sunar. unless ifadesi esasen if'in tam tersidir.
if ile, koşul doğru olduğunda kod çalışır. unless ile, koşul yanlış olduğunda kod çalışır:
logged_in = false
unless logged_in
puts "Please log in to continue"
endBu, if !logged_in yazmaya eşdeğerdir, ancak unless genellikle daha doğal okunur. Bunu "o koşul doğru olmadıkça bunu yap" olarak düşünün.
Ayrıca unless'i else ile de kullanabilirsiniz:
age = 20
unless age < 18
puts "Access granted"
else
puts "Access denied"
endAncak, bir else bloğuna ihtiyacınız olduğunda, if kullanmak genellikle daha net olur. unless ifadesi, alternatif bir yol olmadan basit bir olumsuz koşulunuz olduğunda parlar. Kodunuzu bir bakışta okumayı kolaylaştıran hangisiyse onu seçin.
Görev
KolayAşağıdaki değişkenler size sağlanmıştır:
has_ticket = false
is_vip = true
items_in_cart = 0
battery_level = 15
is_charging = falseAşağıdaki her senaryoyu değerlendirmek için unless ifadeleri kullanın. Belirtilen mesajı, koşul yanlış olduğunda (yani unless bloğunun çalıştığı zaman) yazdırın.
has_tickettruedeğilse,Please purchase a ticketyazdırınis_viptruedeğilse,VIP access requiredyazdırınitems_in_cart0'dan büyük değilse,Your cart is emptyyazdırınbattery_level20'den büyük değilse,Low battery warningyazdırınis_chargingtrueveyabattery_level50'den büyük değilse,Please charge your deviceyazdırın
Her mesaj kendi satırında görünmelidir. Yalnızca unless bloğunu tetikleyen koşullar için mesajlar yazdırın.
Kopya kağıdı
unless ifadesi, bir koşul false olduğunda kodu çalıştırır ve bu da if'in tam tersi yapar:
logged_in = false
unless logged_in
puts "Please log in to continue"
endBu, if !logged_in ile eşdeğerdir, ancak genellikle daha doğal okunur.
unless'i else ile kullanabilirsiniz:
age = 20
unless age < 18
puts "Access granted"
else
puts "Access denied"
endAncak, unless basit negatif koşullar için, else bloğu olmadan en iyisidir. Alternatif bir yol gerektiğinde, if genellikle daha nettir.
Kendin dene
# Değişkenler zaten sizin için tanımlanmış
has_ticket = false
is_vip = true
items_in_cart = 0
battery_level = 15
is_charging = false
# TODO: Kodunuzu aşağıya yazın
# Her koşulu kontrol etmek ve uygun mesajı yazdırmak için unless ifadeleri kullanınBu 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