Üyelik Kontrolleri
Coddy'nin GDScript Journey'sinin Mantık ve Akış bölümünün bir parçası. Ders 10 / 78.
Zaten in ve not in ile üyeliği kontrol ediyorsun: "cat" in pets bir dizideki öğeyi arar, "ell" in "hello" ise bir dizenin içindeki metni arar. Üç durum daha sürekli karşına çıkar.
Bir sözlükte in yalnızca anahtarları denetler. Bir değeri aramak için values() tarafından döndürülen diziyi denetle:
var grades := {"Alice": 85, "Bob": 90}
print("Alice" in grades)
print(90 in grades)
print(90 in grades.values())true
false
trueÜyelik ayrıca türleri karşılaştırır. OS.read_string_from_stdin() ile okunan metin bir dizedir ve "90" dizesi 90 tamsayısı değildir:
var scores := [70, 90]
print("90" in scores)
print(int("90") in scores)false
truein ile birlikte kullanılan izin verilen değerlerden oluşan sabit bir dizi, uzun bir or zincirinin yerini alır ve bir guard içinde de çalışır:
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 westGörev
KolayProgramda sınıftaki öğrencileri içeren bir names dizisi ve notu zaten olan öğrencileri içeren bir grades sözlüğü vardır. Bir öğrenci adını student değişkenine, bir notu da (metin olarak) grade değişkenine okur.
Üç satır yazdır:
NAME is in the class.veyaNAME is not in the class.;namesdizisini kontrol ederekNAME has a grade.veyaNAME has no grade.;gradessözlüğünün anahtarlarını kontrol ederekSomeone scored GRADE.veyaNobody scored GRADE.;gradessözlüğünün değerlerini kontrol ederek
NAME ve GRADE yerine girdileri koy. Dana ve 85 girdileri için çıktı şöyledir:
Dana is in the class.
Dana has no grade.
Someone scored 85.Kendin dene
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()
# Üç satırı yazdır
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Mantık ve Akış bölümündeki tüm dersler
1String’leri Derinlemesine İnceleme
String MetotlarıString’lerde AramaDeğiştirme ve KırpmaBölme ve BirleştirmeTekrar: Kullanıcı Adı Kontrolü4Sözlükler Bölüm 2
İç İçe SözlüklerSözlük DizileriSözlükleri BirleştirmeSözlükleri KopyalamaTekrar - Frekans Sayacı10İleri Düzey Fonksiyonlar
Birden Fazla Değer DöndürmeLambda Fonksiyonları Bölüm 1Lambda Fonksiyonları Bölüm 2Tekrar - Lambda ile SıralamaÖzyinelemeli Fonksiyonlar Bölüm 1Özyinelemeli Fonksiyonlar Bölüm 2Tekrar - İç İçe Dizilerin Toplamı13Envanter Yönetim Sistemi
Projeye Genel BakışÜrün Ekle2İleri Düzey Karar Verme
Değişkenlerle EşleştirmeEşleştirme KoşullarıDizi KalıplarıSözlük KalıplarıÜyelik KontrolleriÖzet - Komut Ayrıştırıcı5Rehber Uygulaması
Menüyü GörüntüleKişi Ekle8Öğrenci Kayıt Yöneticisi
Proje Genel BakışıÖğrenci Ekle11Üst Düzey Fonksiyonlar
map Metodufilter Metodureduce Metoduany ve allTekrar - E-posta DoğrulayıcıTekrar - Sayı İşleyici3Çok Boyutlu Diziler
2B Dizilere Giriş2B Dizi Elemanlarına Erişim2B Dizilerle İç İçe DöngülerTekrar - 2B DizilerDüzensiz DizilerYaygın 2B Dizi ÖrüntüleriTekrar - Oyun Tahtası6Sözlüklerle Kümeler
Küme Nedir?Küme Olarak SözlükEkleme ve SilmeBirleşim ve KesişimKüme FarkıTekrar: Yinelenenleri Silme9Gelişmiş Veri Toplama
Değerleri ToplamaEn Küçük ve En Büyük Değeri BulmaÖzel SıralamaÖzet - Sözlük SıralayıcıKendi başına pratik yap: Online GDScript derleyicisi