يمكن أن تحتوي الدوال في الواقع على أكثر من معلمة واحدة، مما يسمح بتمرير حجج متعددة (قطع من المعلومات) إلى الدالة. قد يكون مثال على ذلك تعيين لاعب إلى فريق. حيث ستحتاج في هذه الحالة إلى معلمة لتمرير اللاعب، ومعلمة لتمرير الفريق الذي سيتم تعيينهم له.
لإعداد معلمات متعددة، افصل أسماء المعلمات بفاصلة.
local function assignTeam(playerName, whichTeam)
end
الممارسة مع المعلمات المتعددة
لممارسة العمل مع المعلمات المتعددة، أنشئ دالة تقوم بترتيب الأشياء إلى نفايات أو إعادة تدوير.
- المعلمة الأولى ستكون للنفايات، والتي سيتم تدميرها.
- المعلمة الثانية ستكون لإعادة التدوير، والتي سيتم جعلها لامعة وجديدة مرة أخرى.
إعداد الدالة
أولاً قم بإعداد الدالة مع معلمات متعددة ثم اختبر عملك.
- أنشئ نصًا جديدًا في ServerScriptService.
- أكتب دالة جديدة باسم sortGarbage() مع معلمتين، trash و recyclable.
- في أسفل النص، استدعِ الدالة.
- تحقق بسرعة من الكود حتى الآن باستخدام تعبير print داخل الدالة.
local function sortGarbage(trash, recyclable)
print("garbage test")
end
sortGarbage()
استخدم معلمات متعددة
داخل الدالة، يمكن استخدام المعلمات بشكل مشابه للمتغيرات. في هذا المثال، يتم تدمير trash ثم يتم تزيين recyclable باستخدام مولد جزيئات.
احذف تعبير print، واستخدم Instance.new() لإنشاء مولد جزيئات جديد كما هو موضح. سيتم استخدام ذلك لإعطاء المواد القابلة لإعادة التدوير تألقها.
local function sortGarbage(trash,recyclable)-- إنشاء مولد جزيئات جديدlocal sparkle = Instance.new("ParticleEmitter")endsortGarbage()دمر أي شيء يتم تمريره من خلال معلمة النفايات كما لو كانت النفايات أي متغير آخر.
local function sortGarbage(trash,recyclable)local sparkle = Instance.new("ParticleEmitter")-- دمر النفاياتtrash:Destroy()endsortGarbage()اجعل مولد الجزيئات تابعًا للمواد القابلة لإعادة التدوير.
local function sortGarbage(trash,recyclable)local sparkle = Instance.new("ParticleEmitter")-- دمر النفايات واجعل المواد القابلة لإعادة التدوير لامعةtrash:Destroy()sparkle.Parent = recyclableendsortGarbage()
تمرير القيم من خلال المعلمات
حان الوقت لإخراج النفايات! مع إعداد المعلمات، الدوال جاهزة لاستقبال المعلومات.
أنشئ كائنين باستخدام أجزاء أساسية لتمثيل أشياء قد ترميها. يجب أن يكون واحد منها نفايات والآخر قابل لإعادة التدوير. تأكد من أن لديهم أسماء فريدة.
في أعلى النص، أضف متغيرات للكائنات التي أنشأتها. ستكون هذه هي حججك.
local Workspace = game:GetService("Workspace")local cementBlock = Workspace.Cementlocal glassBottle = Workspace.GlassBottleفي أسفل النص، حيث يتم استدعاء sortGarbage(), مرر كل حجة.
local Workspace = game:GetService("Workspace")-- الكائنات لاستخدامها كحججlocal cementBlock = Workspace.CementBlocklocal glassBottle = Workspace.GlassBottle-- تدمر النفايات وتنظف المواد القابلة لإعادة التدويرlocal function sortGarbage(trash,recyclable)local sparkle = Instance.new("ParticleEmitter")trash:Destroy()sparkle.Parent = recyclableend-- تمرير الحججsortGarbage(cementBlock, glassBottle)اختبر الكود الخاص بك. سيتم تدمير الكائن الممرر أولاً. الكائن الثاني سيتلألأ.
ترتيب المعلمات
عادة ما تتطابق الحجج مع المعلمات بناءً على ترتيب تمريرها. على سبيل المثال، يتم استخدام الحجة الأولى للمعلمة الأولى. يتم استخدام الحجة الثانية للمعلمة الثانية.
في مثالنا، يوجد معلمان. ما يتم تمريره أولاً سيكون دائمًا نفايات، والثاني سيكون دائمًا قابل لإعادة التدوير.
-- تدمر النفايات وتنظف المواد القابلة لإعادة التدوير
local function sortGarbage(trash,recyclable)
local sparkle = Instance.new("ParticleEmitter")
trash:Destroy()
sparkle.Parent = recyclable
end
-- يسير حسب الترتيب. يتم تدمير الاسمنت ويتم إعادة تدوير زجاجة الماء
sortGarbage(cementBlock, glassBottle)
-- يتم تدمير زجاجة الماء ويتم إعادة تدوير الاسمنت
sortGarbage(glassBottle, cementBlock)
إذا قمت بتمرير حجة واحدة فقط، سيتم التعامل مع تلك الحجة كنفايات. إذا قمت بتمرير ثلاث حجج، فلن يحدث شيء للحجة الثالثة لأنه لا توجد معلمة ثالثة.
ملخص
المعلمات هي حجزات يتم من خلالها تمرير القيم إلى الدوال. الحجج هي القيم التي يتم تمريرها من خلال الحجز. يمكنك إنشاء معلمات متعددة من خلال فصل أسمائها بفواصل. عند استدعاء الدوال، يحدد الترتيب الذي يتم تمرير القيم به إلى الدالة المستقبلية أي معلمة يتم استخدامها.