Menu
CoddyTech

מתודות של מערכים

חלק מהיחידה יסודות במסלול ה-GDScript של Coddy. שיעור 65 מתוך 92.

למערכים יש מתודות שמוסיפות ומסירות איברים. קוראים למתודה באמצעות נקודה אחרי המערך: party.append("mage").

  • append(value) מוסיפה איבר אחד לסוף
  • insert(index, value) מציבה ערך באינדקס ומזיזה את האיברים שאחריו מקום אחד ימינה
  • pop_back() מסירה את האיבר האחרון ומחזירה אותו
  • remove_at(index) מסירה את האיבר שבאינדקס
  • erase(value) מסירה את האיבר הראשון ששווה לערך; אם אין כזה, לא קורה דבר
  • clear() מסירה את כל האיברים
var party := ["knight", "archer"]
party.append("mage")
party.insert(0, "healer")
print(party)
["healer", "knight", "archer", "mage"]
var last = party.pop_back()
print(last)
party.remove_at(1)
party.erase("archer")
print(party)
mage
["healer"]

append() תמיד מוסיפה איבר אחד. הוספת מערך מכניסה את המערך כולו כאיבר יחיד. כדי להוסיף כל איבר ממערך אחר, השתמשו ב־append_array():

var a := [1, 2]
a.append([3, 4])
print(a)
var b := [1, 2]
b.append_array([3, 4])
print(b)
[1, 2, [3, 4]]
[1, 2, 3, 4]
challenge icon

אתגר

קל

התוכנית קוראת שני פריטים מהקלט: new_item ו-used_item. שנה את inventory בסדר הזה:

  1. הוסף את new_item לסוף
  2. הסר את used_item לפי הערך שלו (אם הוא לא נמצא במערך, שום דבר לא משתנה)
  3. הכנס את "map" בתחילת המערך, באינדקס 0

שורות ה-print() כבר כתובות. עבור הקלטים bow ו-shield, הפלט הוא:

["map", "sword", "potion", "bow"]
4

נסו בעצמכם

extends Node

func _ready():
	var inventory := ["sword", "shield", "potion"]
	var new_item := OS.read_string_from_stdin()
	var used_item := OS.read_string_from_stdin()
	# 1. הוסיפו את new_item לסוף
	# 2. הסירו את used_item
	# 3. הכניסו את "map" בהתחלה
	print(inventory)
	print(inventory.size())
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר GDScript אונליין