وحدة:Separated entries
المظهر
| صُنّفت هذه الوحدة على أنها محمية. تصل الوحدة لهذه المرحلة عندما تستخدم في صفحات كثيرة جدًا. فيجب أن تحمى بسبب أن عمليات التخريب أو الأخطاء تطال الكثير من الصفحات. كما هناك تعديلات غير مجدية تتم على هذه الوحدات تسبب تعب للخادم، إذا كنت ترى أن تعدل هذه الوحدة طبق تعديلك على الملعب أولا وبعد اختباره استدعِ أحدًا لديه صلاحية التعديل لتطبيقه . |
| صفحة وحدة لوا متضمنة في قرابة 818٬000 صفحة ، أو تقريباً 9% إجمالاً. لتجنب التخريبات الكبيرة والتحميل على الخادم، يجب اختبار أي تغييرات في الوحدة في /الملعب أو /المختبر أو صفحات فرعية، أو عبر ملعب الوحدة. يمكن إضافة التغييرات المختبرة إلى هذه الصفحة في تعديل واحد. فكر في مناقشة التغييرات في صفحة نقاش قبل تنفيذها. |
الاستعمال
وحدة:Separated entries تقدم وظيفة mw.text.listToText. بحيث تأخذ المعلمات مهما كان عددها وتجزأها بفاصلة |separator=. ويمكن استخدام |conjunction= بشكل اختياري إذا كان مطلوباً أن تكون الفاصلة الأخيرة مختلفة.
يتم حذف المسافات والفراغات البيضاء، فإذا أردت استخدام المسافات في |separator= استخدام رمز HTML التالي  . فصل المدخلات لا يسبب أية أخطاء حسب التصميم
{{#invoke:Separated entries|main|separator=...}}
-- This module takes positional parameters as input and concatenates them with
-- an optional separator. The final separator (the "conjunction") can be
-- specified independently, enabling natural-language lists like
-- "foo, bar, baz and qux".
local compressSparseArray = require('Module:TableTools').compressSparseArray
local p = {}
function p._main(args)
local separator = args.separator
-- Decode (convert to Unicode) HTML escape sequences, such as " " for space.
and mw.text.decode(args.separator) or ''
local conjunction = args.conjunction and mw.text.decode(args.conjunction) or separator
-- Discard named parameters.
local values = compressSparseArray(args)
return mw.text.listToText(values, separator, conjunction)
end
local function makeInvokeFunction(separator, conjunction)
return function (frame)
local args = require('Module:Arguments').getArgs(frame)
args.separator = separator or args.separator
args.conjunction = conjunction or args.conjunction
return p._main(args)
end
end
p.main = makeInvokeFunction()
p.br = makeInvokeFunction('<br />')
p.comma = makeInvokeFunction(mw.message.new('comma-separator'):plain())
return p