Menu
Coddy logo textTech

Riepilogo - Articolo di inventario

Fa parte della sezione Programmazione orientata agli oggetti del percorso Swift di Coddy. Lezione 11 di 57.

challenge icon

Sfida

Medio

Completa la struct StockItem con le proprietà name e quantity. Aggiungi i metodi mutanti receive(_:) (aggiunge) e ship(_:) (sottrae solo se le scorte sono sufficienti, restituendo se l’operazione è riuscita), e un metodo non mutante label() che restituisce tea: 12 oppure tea: out of stock quando la quantità è 0.

Poi completa process(start:commands:): crea l'articolo, ne conserva una copia chiamata opening prima del primo comando, applica i comandi e restituisce una riga per ogni spedizione rifiutata (cannot ship 5), poi now seguito dall'etichetta dell'articolo e was seguito dall'etichetta di opening.

Il codice fornito legge l'articolo nel formato name,quantity e i comandi +n o -n, quindi stampa ogni riga restituita.

Il tuo codice va inserito in StockItem.swift e Functions.swift. main.swift contiene il codice di input/output fornito e non può essere modificato.

Provalo tu

// Código de entrada/salida proporcionado: mantenlo tal como está
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) }

Tutte le lezioni di Programmazione orientata agli oggetti

Esercitati da solo: Playground Swift