Menu
CoddyTech

Ôn tập: mở gói an toàn

Thuộc phần Kiến thức nền tảng trong hành trình Swift của Coddy. Bài học 15 trên 86.

challenge icon

Thử thách

Dễ
Viết hàm formatPlayerInfo nhận name, score và level của người chơi dưới dạng chuỗi, rồi trả về bản tóm tắt thông tin người chơi đã định dạng.

Sử dụng cả ba kỹ thuật tháo gói bạn đã học để xử lý các giá trị có thể bị thiếu:

  • Dùng guard let để kiểm tra tên có hợp lệ hay không (không rỗng). Nếu tên rỗng, trả về "Unknown player" ngay lập tức.
  • Dùng ?? (toán tử kết hợp nil) để đặt điểm mặc định là "0" nếu điểm rỗng.
  • Dùng if let để kiểm tra cấp độ có hợp lệ hay không (không rỗng). Nếu có giá trị, hãy đưa cấp độ vào đầu ra; nếu không, hãy bỏ phần cấp độ.

Định dạng đầu ra:

  • Nếu có cấp độ: "[name] - Score: [score], Level: [level]"
  • Nếu cấp độ rỗng: "[name] - Score: [score]"

Tham số:

  • name (String): Tên người chơi (chuỗi rỗng biểu thị nil)
  • score (String): Điểm của người chơi (chuỗi rỗng biểu thị nil)
  • level (String): Cấp độ của người chơi (chuỗi rỗng biểu thị nil)

Giá trị trả về: Chuỗi đã định dạng chứa thông tin người chơi, hoặc "Unknown player" nếu tên rỗng.

Gợi ý: Chuyển các chuỗi rỗng thành kiểu optional bên trong hàm bằng cách kiểm tra xem chúng có rỗng không và gán nil nếu có.

Tự làm thử

func formatPlayerInfo(name: String, score: String, level: String) -> String {
    // Viết code tại đây
}

Tất cả bài học trong Kiến thức nền tảng

Tự luyện tập: Playground Swift