מערכים מטיפוסים מוגדרים
חלק מהיחידה יסודות במסלול ה-GDScript של Coddy. שיעור 68 מתוך 92.
מערך רגיל מקבל ערכים מכל סוג. מערך מטופס מקבל סוג אחד בלבד, שנכתב בסוגריים מרובעים אחרי Array:
var scores: Array[int] = [90, 85, 77]
var players: Array[String] = ["Ana", "Ben"]
var bonuses: Array[int] = []GDScript בודק כל ערך. ערך מהסוג הלא נכון בסוגריים מדווח לפני שהתוכנית מופעלת:
var scores: Array[int] = [90, "high"] # שגיאה: "high" אינו ערך מסוג intהוספת ערך מסוג שגוי בזמן שהתוכנית פועלת היא גם שגיאה, והערך לא מתווסף:
var scores: Array[int] = [90, 85]
var bonus = "ten"
scores.append(bonus) # שגיאה, scores נשאר [90, 85]הסקת טיפוסים באמצעות := אינה יוצרת מערך מטיפוס מוגדר: var scores := [90, 85] הוא Array רגיל. כתוב Array[int] כדי לקבל מערך כזה.
מכיוון שמערך מטיפוס מוגדר מכיר את סוג האיברים שלו, var best := scores[0] מסיק את הטיפוס int. במערך רגיל, אותה שורה היא שגיאה, מכיוון שהאיברים שלו יכולים להיות מכל סוג.
למערכים מטיפוס מוגדר יש אותם אינדקסים ושיטות כמו למערכים רגילים, ו־print(scores) מציג אותם באותה צורה: [90, 85].
אתגר
קלהתוכנית קוראת מספר מהקלט, ואז את אותו מספר של ציונים, אחד בכל שורה.
- הכריזו על
scoresכמערך מטופס ריק של מספרים שלמים - קראו כל ציון, המירו אותו באמצעות
int()והוסיפו אותו אלscores - הדפיסו את
scores, ואז אתBest:ואחריו את הציון הגבוה ביותר
עבור הקלט שלהלן, הפלט הוא:
3
70
95
88[70, 95, 88]
Best: 95נסו בעצמכם
extends Node
func _ready():
var count := int(OS.read_string_from_stdin())
# 1. הכריזו על scores, מערך ריק מטיפוס int
# 2. קראו count ציונים והוסיפו כל אחד מהם למערך
# 3. הדפיסו את scores, אחר כך את "Best: " ואת הציון הגבוה ביותר
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 1
אופרטורים אריתמטייםחלוקה שלמהאופרטור מודולוקיצורי דרך אריתמטייםסיכום – חשבון פשוטאופרטורי השוואהתרגלו בעצמכם: קומפיילר GDScript אונליין