Menu
Coddy logo textTech

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"
end

Bu, 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"
end

Ancak, 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.

challenge icon

Görev

Kolay

Aş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 = false

Aş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.

  1. has_ticket true değilse, Please purchase a ticket yazdırın
  2. is_vip true değilse, VIP access required yazdırın
  3. items_in_cart 0'dan büyük değilse, Your cart is empty yazdırın
  4. battery_level 20'den büyük değilse, Low battery warning yazdırın
  5. is_charging true veya battery_level 50'den büyük değilse, Please charge your device yazdı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"
end

Bu, 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"
end

Ancak, 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ın
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