Menu
Coddy logo textTech

Özet - Kütüphane Kartı

Coddy'nin Ruby Journey'sinin Nesne Yönelimli Programlama bölümünün bir parçası. Ders 6 / 57.

challenge icon

Görev

Orta

LibraryCard sınıfını tamamla. initialize(name, limit = 3) adı ve ödünç alma limitini saklar ve ödünç alınmış hiçbir başlık olmadan başlar. borrow(title), kart limitine ulaşmadıysa ve kartta bu başlık zaten bulunmuyorsa true döndürür ve başlığı ekler; aksi durumda false döndürür. give_back(title), başlığı kaldırdığında true döndürür. to_s, başlıklar ödünç alınma sırasındayken Ada: 2/3 (Dune, Emma) değerini veya hiçbir şey ödünç alınmadığında Ada: 0/3 değerini döndürür.

Sağlanan kod adı ve limiti (- varsayılan için) okur, ardından +title veya -title komutlarını işler. Her komut için ok veya no yazdırır ve son olarak kartı yazdırır.

Kodun library_card.rb dosyasına yazılmalıdır. main.rb sağlanan girdi/çıktı kodunu içerir ve düzenlenemez.

Kendin dene

require_relative 'library_card'

# Sağlanan girdi/çıktı kodu: olduğu gibi bırakın
input = []
while (line = gets)
  input << line.chomp
end
card = input[1] == "-" ? LibraryCard.new(input[0]) : LibraryCard.new(input[0], input[1].to_i)
input.drop(2).each do |cmd|
  title = cmd[1..]
  done = cmd.start_with?("+") ? card.borrow(title) : card.give_back(title)
  puts done ? "ok" : "no"
end
puts card

Nesne Yönelimli Programlama bölümündeki tüm dersler

Kendi başına pratik yap: Online Ruby derleyicisi