تحتاج العديد من هياكل البيانات بشكل شائع إلى إرجاع القيم. سيتناول هذا المقال كيفية البحث في جدول باستخدام pairs() أو ipairs() لنصف أي عنصر من الجدول، مثل المفتاح أو القيمة، للعثور على النصف الآخر وإرجاعه.
المثال يستخدم مصفوفة تحتوي على سفن تنتظر للإصلاح. تُستخدم ipairs() لإرجاع مكان السفينة في الطابور.
local shipToFind = "Void Racer"
-- السفن التي تنتظر الإصلاح
local waitingShips = {"Battle Sun", "Void Racer", "The Big Slow"}
-- الحصول على مكان في الطابور
local function getPlaceInLine(shipName)
for placeInLine, ship in ipairs(waitingShips) do
if ship == shipName then
return placeInLine
end
end
end
--طباعة المكان في الطابور
local placeInLine = getPlaceInLine(shipToFind)
print("مكانك في الطابور هو " .. placeInLine)
مثال على البحث في القاموس
هل سبق لك أن بحثت عن حيوان أليف ضائع في المنزل بالذهاب من غرفة إلى أخرى؟ في الكود الخاص بك، قم بإنشاء دالة للبحث في قاموس يسمى house لمعرفة أي غرفة تحتوي على جرو ضائع.
انسخ القاموس أدناه للعمل كمنزل.
local house = {kitchen = "كومة من القمامة",livingRoom = "هريرة",bedroom1 = "لا أحد هناك",bedroom2 = "جرو",}إنشاء دالة جديدة تسمى findPet() للبحث في القاموس. تضمين معلمات لماهية القاموس الذي سيتم البحث فيه، وما القيمة التي سيتم البحث عنها.
استخدم pairs() للتكرار عبر القاموس. حاول كتابة الكود بنفسك قبل التحقق من عملك في الحل أدناه.
local function findPet(whereToSearch, searchFor)for place, value in pairs(whereToSearch) doendendأثناء تكرار الحلقة عبر القاموس، استخدم return لإرجاع الغرفة التي وُجد فيها الحيوان الأليف.
local function findPet(whereToSearch, searchFor)for place, value in pairs(whereToSearch) doif value == searchFor thenreturn placeendendend