Phương thức từ điển
Thuộc phần Kiến thức nền tảng trong hành trình GDScript của Coddy. Bài học 80 trên 92.
Từ điển có các phương thức cho bạn biết chúng chứa gì.
keys() trả về một mảng các khóa, còn values() trả về một mảng các giá trị, theo thứ tự của các cặp:
var player := {"name": "Mia", "hp": 100, "level": 3}
print(player.keys()) # ["name", "hp", "level"]
print(player.values()) # ["Mia", 100, 3]has() kiểm tra xem một khóa có tồn tại hay không. Toán tử in cũng thực hiện kiểm tra tương tự:
print(player.has("hp")) # true
print(player.has("mana")) # false
print("level" in player) # truesize() trả về số lượng cặp, còn is_empty() kiểm tra xem có cặp nào không:
print(player.size()) # 3
print(player.is_empty()) # false
var bag := {}
print(bag.is_empty()) # truehas() và in chỉ kiểm tra các khóa, không bao giờ kiểm tra các giá trị: player.has("Mia") là false.
Thử thách
DễChương trình đọc hai dòng đầu vào: một danh sách các cặp được viết theo dạng key:value và phân tách bằng dấu phẩy, cùng một khóa cần kiểm tra. Đoạn code đã cho điền từ điển info từ dòng đầu tiên.
In ra theo thứ tự sau:
- Mỗi khóa trên một dòng
---- Mỗi giá trị trên một dòng
---- Số lượng cặp
---truehoặcfalse: từ điển có rỗng hay không---truehoặcfalse: khóa từ đầu vào thứ hai có tồn tại hay không
Với đầu vào name:Mia,hp:100,class:Mage và hp, đầu ra là:
name
hp
class
---
Mia
100
Mage
---
3
---
false
---
trueTự làm thử
extends Node
func _ready():
var text := OS.read_string_from_stdin()
var key := OS.read_string_from_stdin()
var info := {}
for pair in text.split(","):
var parts := pair.split(":")
info[parts[0]] = parts[1]
# In ra các khóa (key), giá trị (value), kích thước, is_empty và has(key)
# với --- ngăn cách các phần
pass
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức nền tảng
4Toán tử phần 1
Toán tử số họcPhép chia lấy phần nguyênToán tử moduloPhép tính số học rút gọnÔn tập, phép tính đơn giảnToán tử so sánh7Nhập xuất cơ bản
Đầu raĐầu ra với biếnĐịnh dạng chuỗiĐầu vàoÉp kiểuÔn tập đến 120Ôn tập đúng hay sai10Hàm
Khai báo hàmĐối sốTrả vềKiểu trả vềÔn tập: hàm SigmaÔn tập: hàm kiểm tra hợp lệGiá trị mặc định16Theo dõi chi tiêu hằng ngày
Tổng quan dự ánThoát chương trình5Toán tử phần 2
Toán tử logic phần 1Toán tử logic phần 2Ôn tập: logic đơn giảnToán tử logic phần 3Toán tử ba ngôi8Máy tính chia hóa đơn
Lời chàoNhận đầu vào3Biến, phần 2
Khai báo kiểu dữ liệuSuy luận kiểu dữ liệuHằng sốÔn tập: khởi tạo biếnChuyển đổi kiểu dữ liệu9Vòng lặp
Vòng lặp forVòng lặp whileBreakContinueÔn tập: giai thừaHàm rangeVòng lặp lồng nhauÔn tập: đầu vào động12Mảng cơ bản
Khai báo mảngTruy cập phần tử trong mảngThay đổi mảngPhương thức mảngÔn tập: mảng tíchÔn tập: mảng đảo ngượcMảng định kiểu15Từ điển
Tạo từ điểnTruy cập giá trịSửa đổi từ điểnPhương thức từ điểnLặp qua từ điểnÔn tập: từ điển kho hàngTự luyện tập: Trình biên dịch GDScript online