وحدة:Separated entries
صُنّفت هذه الوحدة على أنها محمية. تصل الوحدة لهذه المرحلة عندما تستخدم في صفحات كثيرة جدًا. فيجب أن تحمى بسبب أن عمليات التخريب أو الأخطاء تطال الكثير من الصفحات. كما هناك تعديلات غير مجدية تتم على هذه الوحدات تكون عبارة عن حركات صبيانية تسبب تعب للخادم. |
هذه الوحدة مستخدمة في عدد كبير من الصفحات (+838167) . لتفادي خلق بلبلة على نطاق واسع من الصفحات وزيادة الأعباء على الخوادم، يجب تجربة أي تعديل في هذه الصفحات الفرعية /ملعب أو /تجربة أو في ملعبك. بعدها يمكنك اضافة التعديلات دفعة واحدة، ورجاءً، لا تنسَ مناقشة أمر التعديلات أوّلًا قبل القيام بها. |
الاستعمال
وحدة: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