سؤال

فيما يلي برنامج قصير يأخذ جدولاً ويعيد فهرس أكبر قيمة رقمية في الجدول.

سؤالي هو - هل يمكن لأحد أن يشرح لي "كلمة، عد" في حلقة for في السطر 5؟يعمل البرنامج، لكني لا أفهم كيف تقوم كلمة count في حلقة for بأي شيء.

 numbers = {10, 5, 1}

 function largest(t)
   local maxcount = 0
   local maxindex
   for word, count in pairs(t) do
     if count > maxcount then
       maxcount = count
       maxindex = word 
     end
   end
   return maxindex, maxcount
 end

 print(largest(numbers))
هل كانت مفيدة؟

المحلول

تشغيل الكود التالي يجب أن يجعله أكثر وضوحًا:

tbl = { a = "one", b = "two", c = "two and half" }
for key, val in pairs(tbl) do print(key, val) end

عند تشغيل pairs في حلقة for، يتم تنفيذ التعليمات البرمجية بين do و end مرة واحدة لكل زوج من المفاتيح/القيمة في الجدول؛ for x, y in يضبط أسماء المفتاح وقيمة الكود داخل الحلقة. pairs هو المثال الأكثر شيوعًا لـ مكرر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top