القيم الافتراضية
جزء من قسم الأساسيات في رحلة GDScript على Coddy. الدرس 57 من 92.
يمكن أن يكون للمعامل قيمة افتراضية، وتُكتب باستخدام = في التصريح. عندئذٍ يمكن للاستدعاء إغفال هذه الوسيطة، ويحصل المعامل على القيمة الافتراضية:
func greet(player, greeting = "Hello"):
print(greeting, ", ", player, "!")greet("Ana")
greet("Ana", "Welcome back")Hello, Ana!
Welcome back, Ana!يمرّر الاستدعاء الأول وسيطًا واحدًا، لذا تكون قيمة greeting هي "Hello". ويمرّر الاستدعاء الثاني قيمته الخاصة، التي تحلّ محل القيمة الافتراضية.
يمكن أن يكون للدالة عدة قيم افتراضية، ويمكن أن تكون للمعاملات ذات الأنواع المحددة قيم افتراضية أيضًا:
func spawn(enemy: String, count: int = 1, speed: float = 2.5) -> void:
print(count, " x ", enemy, " at speed ", speed)تطبع spawn("bat") العبارة 1 x bat at speed 2.5، وتطبع spawn("bat", 3) العبارة 3 x bat at speed 2.5. تظل الوسائط تملأ المعاملات بالترتيب، لذا لا يمكنك تمرير speed دون تمرير count أيضًا.
يجب أن تأتي المعلمات ذات القيمة الافتراضية بعد المعلمات التي لا تملك قيمة افتراضية. func greet(greeting = "Hello", player): يؤدي إلى خطأ: "لا يمكن أن تأتي المعلمات الإلزامية بعد المعلمات الاختيارية".
التحدي
سهليقرأ البرنامج اسم اللاعب في player.
- أسفل
_ready()، عرّف دالةgreetبمعلمتين:player_name، وgreetingبقيمة افتراضية"Hello". تطبع التحية، وفاصلة ومسافة، والاسم، و!. - في
_ready()، استدعِgreet(player)، ثمgreet(player, "Welcome back").
للإدخال Ana، يكون الناتج:
Hello, Ana!
Welcome back, Ana!جرّب بنفسك
extends Node
func _ready():
var player := OS.read_string_from_stdin()
# استدعِ greet(player)، ثم greet(player, "Welcome back")
# عرّف greet() أدناه، مع استخدام "Hello" كتحية افتراضية
يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات، الجزء الأول
المعاملات الحسابيةالقسمة الصحيحةمعامل باقي القسمةاختصارات العمليات الحسابيةمراجعة - حسابات بسيطةمعاملات المقارنة7أساسيات الإدخال والإخراج
الإخراجالإخراج باستخدام المتغيراتتنسيق السلاسل النصيةالإدخالالتحويل بين الأنواعمراجعة - حتى 120مراجعة - صح أم خطأ10الدوال
تعريف دالةالمعاملاتالقيمة المعادةأنواع القيم المعادةمراجعة - دالة سيغمامراجعة - دالة التحققالقيم الافتراضية13التكرار على المصفوفات
التكرار على العناصرالتكرار باستخدام الفهارسالتكرار على السلاسل النصية الجزء 1التكرار على السلاسل النصية الجزء 216متعقّب المصروفات اليومية
نظرة عامة على المشروعإنهاء البرنامجتدرّب بنفسك: مترجم GDScript عبر الإنترنت