Menu
CoddyTech

Ü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
true

in 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 west
challenge icon

Görev

Kolay

Programda 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:

  1. NAME is in the class. veya NAME is not in the class.; names dizisini kontrol ederek
  2. NAME has a grade. veya NAME has no grade.; grades sözlüğünün anahtarlarını kontrol ederek
  3. Someone scored GRADE. veya Nobody scored GRADE.; grades sö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
quiz iconKendini test et

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

Kendi başına pratik yap: Online GDScript derleyicisi