Menu
CoddyTech

Ôn tập: mặt hàng trong kho

Thuộc phần Lập trình hướng đối tượng trong hành trình Swift của Coddy. Bài học 11 trên 57.

challenge icon

Thử thách

Trung bình

Hoàn thiện cấu trúc StockItem với các thuộc tính name và quantity. Thêm các phương thức có thể thay đổi receive(_:) (cộng thêm) và ship(_:) (chỉ trừ khi còn đủ hàng trong kho, trả về liệu thao tác có thành công hay không), cùng phương thức không làm thay đổi dữ liệu label() trả về tea: 12 hoặc tea: out of stock khi số lượng bằng 0.

Sau đó, hoàn thiện process(start:commands:): hàm này tạo mặt hàng, giữ một bản sao có tên opening trước lệnh đầu tiên, áp dụng các lệnh và trả về một dòng cho mỗi lần từ chối giao hàng (cannot ship 5), sau đó là now theo sau bởi nhãn của mặt hàng và was theo sau bởi nhãn của opening.

Code được cung cấp đọc mặt hàng theo định dạng name,quantity và các lệnh +n hoặc -n, rồi in ra từng dòng được trả về.

Code của bạn nằm trong StockItem.swift và Functions.swift. main.swift chứa code đầu vào/đầu ra được cung cấp và không thể chỉnh sửa.

Tự làm thử

// Đoạn code đầu vào/đầu ra đã được cung cấp: giữ nguyê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) }

Tất cả bài học trong Lập trình hướng đối tượng

Tự luyện tập: Playground Swift