Menu
CoddyTech

Rangkuman, Item Inventaris

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

challenge icon

Tantangan

Sedang

Lengkapi struct StockItem dengan property name dan quantity. Tambahkan method mutating receive(_:) (menambahkan) dan ship(_:) (mengurangi hanya jika stok mencukupi, lalu mengembalikan apakah pengurangan berhasil), serta label() yang tidak mengubah nilai dan mengembalikan tea: 12 atau tea: out of stock jika quantity bernilai 0.

Lalu lengkapi process(start:commands:): fungsi ini membuat item, menyimpan salinannya yang disebut opening sebelum perintah pertama, menerapkan perintah-perintah, dan mengembalikan satu baris untuk setiap pengiriman yang ditolak (cannot ship 5), lalu now diikuti label item dan was diikuti label opening.

Kode yang disediakan membaca item dalam format name,quantity dan perintah +n atau -n, lalu mencetak setiap baris yang dikembalikan.

Tulis kodemu di StockItem.swift dan Functions.swift. main.swift berisi kode input/output yang disediakan dan tidak boleh diedit.

Coba sendiri

// Kode input/output yang disediakan: biarkan apa adanya
var input: [String] = []
while let line = readLine() { input.append(line) }
let p = input[0].split(separator: ",").map(String.init)
let item = StockItem(name: p[0], quantity: Int(p[1])!)
for line in process(start: item, commands: Array(input.dropFirst())) { print(line) }

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Playground Swift