Ö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.
Görev
OrtaLibraryCard 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
1Sınıflar ve Nesneler
Dosyalarla ÇalışmaSınıf TanımlamaÖrnek DeğişkenleriMetotlar ve selfto_s ve inspectÖzet - Kütüphane Kartı7Çok Biçimlilik ve Ördek Tiplemesi
Çok BiçimlilikÖrdek TiplemesiSoyut Metotlarcase ve SınıflarTekrar - Ödeme Yöntemleri2Erişimciler ve self
Okuyucular ve YazıcılarÖzel Setter'larMetotlarda selfKimlik ve EşitlikTekrar - Kişi Listesi5Kalıtım
Alt sınıflarMetotları geçersiz kılmasuper çağrısıis_a? ve üst sınıflarTekrar - Personel Maaşları8Özel Metotlar
Eşitlik ve hashOperatör Metotlarıİndeksleme ve EklemeÖzel KoleksiyonlarTekrar - Kesirler11Proje: Kütüphane Yönetimi
Kitaplar ve ÜyelerKitap Ödünç Alma3Sınıf Metotları ve Değişkenleri
Sınıf MetotlarıSınıf Örnek DeğişkenleriSabitlerFabrika MetotlarıTekrar - Kupon KodlarıKendi başına pratik yap: Online Ruby derleyicisi