Menu
CoddyTech

Ulasan: Kartu Perpustakaan

Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan Swift di Coddy. Pelajaran 6 dari 57.

challenge icon

Tantangan

Sedang

Lengkapi class LibraryCard. Initializer-nya menerima anggota name dan limit (default 3), lalu dimulai tanpa buku yang dipinjam. borrow(_:) mengembalikan true dan menambahkan judul kecuali kartu sudah mencapai batas atau sudah memegang judul tersebut. giveBack(_:) mengembalikan true saat judul berhasil dihapus. status() mengembalikan Ada: 2/3 (Dune, Emma) dengan judul sesuai urutan peminjaman, atau Ada: 0/3 saat tidak ada buku yang dipinjam.

Kode yang disediakan membaca nama, batas (atau baris kosong untuk menggunakan nilai default), lalu perintah +title atau -title. Kode tersebut mencetak ok atau no untuk setiap perintah, lalu mencetak status().

Tulis kodemu di LibraryCard.swift. main.swift berisi kode input/output yang disediakan dan tidak dapat diedit.

Coba sendiri

// Kode input/output yang disediakan: biarkan apa adanya
var input: [String] = []
while let line = readLine() { input.append(line) }
let card = input[1].isEmpty ? LibraryCard(name: input[0]) : LibraryCard(name: input[0], limit: Int(input[1])!)
for cmd in input.dropFirst(2) {
    let title = String(cmd.dropFirst())
    let done = cmd.hasPrefix("+") ? card.borrow(title) : card.giveBack(title)
    print(done ? "ok" : "no")
}
print(card.status())

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Playground Swift