Menu
Coddy logo textTech

Satır içi if / unless

Coddy'nin Ruby Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 41 / 56.

Ruby, tek bir ifadenin sonuna tek satırlık bir değiştirici olarak if ve unless koymanıza olanak tanır. Neredeyse İngilizce gibi okunur.

puts "Adult" if age >= 18
puts "Save your work" unless saved

Bu şununla aynıdır:

if age >= 18
  puts "Adult"
end

unless saved
  puts "Save your work"
end

Satır içi biçim, bir yöntemin başındaki guard tarzı kontrollerde veya bir döngü içindeki tek seferlik koşullu güncellemelerde öne çıkar:

return if name.nil? || name.empty?

counts = Hash.new(0)
words.each do |w|
  counts[w] += 1 unless w.start_with?("#")
end

Üçlü ifadede olduğu gibi, kısa ifadeler için satır içi değiştiriciler kullanın. Gövde tek bir satırdan daha uzun olacaksa bunun yerine gerçek bir if bloğu yazın.

challenge icon

Görev

Kolay

Virgülle ayrılmış bir tamsayı listesi okuyun. Her sayı için, ancak sayı sıfır değilse bir satır yazdırın:

  • positive: <n> if n > 0 yazdırın
  • negative: <n> unless n >= 0 yazdırın

Her iki satır da satır içi değiştirici biçimini kullanmalıdır (bir if bloğu, else yok). Döngüden sonra, sıfırların sayısı olan Skipped zeros: <count> ifadesini yazdırın; bu sayı da bir if bloğu kullanılmadan hesaplanmalıdır (count kullanın).

3,-2,0,5,0 girdisi için çıktı şöyledir:

positive: 3
negative: -2
positive: 5
Skipped zeros: 2

Kendin dene

numbers = gets.chomp.split(",").map(&:to_i)

# TODO: her bir sayı için satır içi `if` / `unless` kullanarak yazdır
# TODO: count kullanarak Skipped zeros: <n> yazdır
quiz iconKendini test et

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

Mantık ve Akış bölümündeki tüm dersler

Kendi başına pratik yap: Online Ruby derleyicisi