Menu
CoddyTech

Menambahkan dan Menghapus

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

Untuk menambahkan anggota, tetapkan true ke kuncinya. Menambahkan anggota yang sudah ada di dalam set tidak mengubah apa pun, jadi jika kamu perlu mengetahui apakah anggota itu baru, periksa terlebih dahulu dengan has():

var inventory := {"rope": true}
if inventory.has("torch"):
	print("Already have torch")
else:
	inventory["torch"] = true
	print("Added torch")

Untuk menghapus anggota, panggil erase(). Fungsi ini mengembalikan true jika anggota berhasil dihapus dan false jika anggota tidak ada di dalam set. Anggota yang tidak ditemukan tidak pernah menjadi error:

print(inventory.erase("rope")) # true
print(inventory.erase("map")) # false
print(inventory) # { "torch": true }

Karena erase() mengembalikan nilai boolean, kamu dapat menggunakannya langsung sebagai kondisi: if inventory.erase("map"): menjalankan bloknya hanya ketika "map" merupakan anggota.

clear() menghapus semua anggota, size() menghitung jumlahnya, dan is_empty() bernilai true untuk set yang tidak memiliki anggota.

challenge icon

Tantangan

Mudah

Program membaca perintah, satu per baris, hingga baris done. Setiap perintah berupa add ITEM atau remove ITEM. Kode awal sudah memisahkan setiap perintah menjadi action dan item.

  • Untuk add: jika item baru, tambahkan item itu ke set inventory dan cetak Added ITEM. Jika tidak, cetak Already have ITEM.
  • Untuk remove: jika item ada di set, hapus item itu dan cetak Removed ITEM. Jika tidak, cetak No ITEM to remove.

Setelah done, cetak Inventory: diikuti item-item yang digabung dengan , , atau Inventory: empty jika set kosong. Untuk input berikut:

add torch
add rope
add torch
remove map
remove rope
done

output-nya adalah:

Added torch
Added rope
Already have torch
No map to remove
Removed rope
Inventory: torch

Coba sendiri

extends Node

func _ready():
	var inventory := {}
	while true:
		var command := OS.read_string_from_stdin()
		if command == "done":
			break
		var parts := command.split(" ")
		var action := parts[0]
		var item := parts[1]
		# Tambahkan atau hapus item

	# Cetak inventaris
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