Kiểm tra thành viên
Thuộc phần Logic và luồng chương trình trong hành trình GDScript của Coddy. Bài học 10 trên 78.
Bạn đã biết cách kiểm tra phần tử có nằm trong hay không bằng in và not in: "cat" in pets tìm một phần tử trong mảng, còn "ell" in "hello" tìm một đoạn văn bản bên trong chuỗi. Còn có ba trường hợp khác thường xuyên xuất hiện.
Với từ điển, in chỉ kiểm tra các khóa. Để tìm giá trị, hãy kiểm tra mảng mà values() trả về:
var grades := {"Alice": 85, "Bob": 90}
print("Alice" in grades)
print(90 in grades)
print(90 in grades.values())true
false
trueToán tử kiểm tra phần tử cũng so sánh kiểu dữ liệu. Văn bản đọc bằng OS.read_string_from_stdin() là một chuỗi, còn chuỗi "90" không phải là số nguyên 90:
var scores := [70, 90]
print("90" in scores)
print(int("90") in scores)false
trueMột mảng hằng số gồm các giá trị hợp lệ kết hợp với in thay thế cho chuỗi dài các toán tử or, và cách này cũng dùng được trong điều kiện bảo vệ:
const DIRECTIONS = ["north", "south", "east", "west"]
var dir := "west"
match dir:
var d when d in DIRECTIONS:
print("Going ", d)
_:
print("You cannot go there")Going westThử thách
DễChương trình có một mảng names chứa tên học sinh trong một lớp và một từ điển grades chứa tên những học sinh đã có điểm. Chương trình đọc tên học sinh vào student và điểm vào grade (dưới dạng văn bản).
In ra ba dòng:
NAME is in the class.hoặcNAME is not in the class., kiểm tranamesNAME has a grade.hoặcNAME has no grade., kiểm tra các khóa củagradesSomeone scored GRADE.hoặcNobody scored GRADE., kiểm tra các giá trị củagrades
Thay NAME và GRADE bằng dữ liệu đầu vào. Với dữ liệu đầu vào Dana và 85, đầu ra là:
Dana is in the class.
Dana has no grade.
Someone scored 85.Tự làm thử
extends Node
func _ready():
var names := ["Alice", "Bob", "Charlie", "Dana"]
var grades := {"Alice": 85, "Bob": 90, "Charlie": 78}
var student := OS.read_string_from_stdin()
var grade := OS.read_string_from_stdin()
# In ra ba dòng
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 Logic và luồng chương trình
1Chuyên sâu về chuỗi
Các phương thức của chuỗiTìm kiếm trong chuỗiThay thế và xóa khoảng trắngTách và nốiÔn tập: Kiểm tra tên người dùng7Kiểu liệt kê
Kiểu liệt kê là gì?Định nghĩa kiểu liệt kêCác giá trị của kiểu liệt kêKiểu liệt kê trong matchÔn tập: đèn giao thông10Hàm nâng cao
Trả về nhiều giá trịHàm lambda phần 1Hàm lambda phần 2Ôn tập: sắp xếp bằng lambdaHàm đệ quy phần 1Hàm đệ quy phần 2Ôn tập: tính tổng mảng lồng nhau13Hệ thống quản lý hàng tồn kho
Tổng quan dự ánThêm mặt hàng2Ra quyết định nâng cao
So khớp với biếnĐiều kiện bảo vệ trong so khớpMẫu mảngMẫu từ điểnKiểm tra thành viênÔn tập: Bộ phân tích lệnh5Ứng dụng sổ liên lạc
Hiển thị menuThêm liên hệ8Trình quản lý hồ sơ học sinh
Tổng quan dự ánThêm học sinh3Mảng nhiều chiều
Cơ bản về mảng 2 chiềuTruy cập phần tử trong mảng 2 chiềuVòng lặp lồng nhau với mảng 2 chiềuÔn tập: mảng 2 chiềuMảng răng cưaCác mẫu phổ biến với mảng 2 chiềuÔn tập: bàn cờ6Tập hợp với từ điển
Tập hợp là gì?Từ điển như một tập hợpThêm và xóaHợp và giaoHiệu tập hợpÔn tập: Xóa phần tử trùng lặp9Tổng hợp dữ liệu nâng cao
Tính tổng các giá trịTìm giá trị nhỏ nhất và lớn nhấtSắp xếp tùy chỉnhÔn tập: Sắp xếp từ điểnTự luyện tập: Trình biên dịch GDScript online