Menu
CoddyTech

Dictionary sebagai Set

Termasuk bagian Logika dan Alur dalam perjalanan GDScript di Coddy. Pelajaran 32 dari 78.

Untuk mengubah array menjadi set, lakukan perulangan pada array itu dan jadikan setiap nilai sebagai kunci. Nilai yang berulang akan menempati kunci yang sama:

var reports := ["spam", "scam", "spam"]
var banned := {}
for word in reports:
	banned[word] = true
print(banned.keys()) # ["spam", "scam"]

Untuk memeriksa apakah suatu nilai merupakan anggota, gunakan has() atau operator in. Pada dictionary, keduanya memeriksa kunci, bukan nilai:

print(banned.has("scam")) # true
print("hello" in banned) # false
print("hello" not in banned) # true

array juga memiliki has(), tetapi fungsi ini membandingkan nilai dengan setiap elemennya satu per satu. dictionary menemukan key secara langsung, jadi pemeriksaan keanggotaan pada set tetap cepat meskipun memiliki ribuan anggota.

Sebuah for loop pada set menelusuri anggotanya, sesuai urutan penambahannya:

for word in banned:
	print(word) # spam, lalu scam
challenge icon

Tantangan

Mudah

Kamu memeriksa tamu di pintu masuk sebuah pesta. Program membaca dua baris input:

  1. Daftar tamu: nama-nama yang dipisahkan spasi. Beberapa nama ditulis lebih dari sekali.
  2. Orang-orang yang datang: nama-nama yang dipisahkan spasi.

Buat set guests dari daftar tamu. Cetak jumlah orang berbeda yang ada di daftar, lalu satu baris untuk setiap orang yang datang: NAME: welcome jika mereka ada di daftar, atau NAME: not on the list. Untuk input:

mia leo ana mia
mia sam ana

output-nya adalah:

Guests on the list: 3
mia: welcome
sam: not on the list
ana: welcome

Coba sendiri

extends Node

func _ready():
	var guest_list := OS.read_string_from_stdin().split(" ", false)
	var arrivals := OS.read_string_from_stdin().split(" ", false)
	var guests := {}

	# Buat set tamu

	# Cetak jumlah tamu dan periksa setiap kedatangan
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler GDScript online