Ringkasan: Kartu Perpustakaan
Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Ruby di Coddy. Pelajaran 6 dari 57.
Tantangan
SedangLengkapi class LibraryCard. initialize(name, limit = 3) menyimpan nama dan batas peminjaman, lalu mulai tanpa judul yang dipinjam. borrow(title) mengembalikan true dan menambahkan judul tersebut, kecuali jika kartu sudah mencapai batasnya atau sudah memiliki judul tersebut, dalam hal ini fungsi mengembalikan false. give_back(title) mengembalikan true jika judul tersebut berhasil dihapus. to_s mengembalikan Ada: 2/3 (Dune, Emma) dengan judul-judul dalam urutan peminjaman, atau Ada: 0/3 saat tidak ada yang dipinjam.
Kode yang disediakan membaca nama dan batasnya (- untuk nilai default), lalu perintah +title atau -title. Kode tersebut mencetak ok atau no untuk setiap perintah, lalu mencetak kartu.
Kodemu ditulis di library_card.rb. main.rb berisi kode input/output yang disediakan dan tidak boleh diedit.
Coba sendiri
require_relative 'library_card'
# Kode input/output yang disediakan: biarkan apa adanya
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
Semua pelajaran di Pemrograman Berorientasi Objek
1class dan object
Bekerja dengan fileMendefinisikan classVariabel instansmethod dan selfto_s dan inspectRingkasan: Kartu Perpustakaan4Enkapsulasi
private methodprotected methodprivate setterMelindungi StatusUlasan, Mesin Penjual Otomatis7Polimorfisme dan Duck Typing
PolimorfismeDuck TypingMethod Abstrakcase dan classRingkasan: Method Pembayaran2Accessor dan self
Pembaca dan PenulisSetter Kustomself dalam methodIdentitas dan KesetaraanRangkuman: Daftar Kontak8Special method
Kesetaraan dan hashOperator methodPengindeksan dan penambahanKoleksi kustomRingkasan: Pecahan11Proyek: Manajemen Perpustakaan
Buku dan AnggotaMeminjam Buku3Method dan Variabel class
Method classVariabel instance classKonstantaMethod pabrikRangkuman: Kode KuponLatihan sendiri: Compiler Ruby online