Menu
Coddy logo textTech

Tekrar - Envanter Öğesi

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

challenge icon

Görev

Orta

StockItem yapısını name ve quantity özellikleriyle tamamlayın. receive(_:) (ekler) ve ship(_:) (yalnızca stokta yeterli miktar olduğunda çıkarır ve işlemi gerçekleştirip gerçekleştirmediğini döndürür) değiştirici yöntemlerini ve miktar 0 olduğunda tea: 12 veya tea: out of stock döndüren, değişiklik yapmayan bir label() yöntemi ekleyin.

Ardından process(start:commands:) işlevini tamamlayın: öğeyi oluşturur, ilk komuttan önce opening adlı bir kopyasını saklar, komutları uygular ve reddedilen her gönderim için bir satır (cannot ship 5) döndürür; ardından öğenin etiketinin önüne now ve opening etiketinin önüne was ekler.

Sağlanan kod, öğeyi name,quantity biçiminde ve komutları +n veya -n biçiminde okur ve döndürülen her satırı yazdırır.

Kodunuz StockItem.swift ve Functions.swift dosyalarına gelmelidir. main.swift sağlanan girdi/çıktı kodunu içerir ve düzenlenemez.

Kendin dene

// Sağlanan girdi/çıktı kodu: olduğu gibi bırakın
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) }

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

Kendi başına pratik yap: Swift playground