پودمان:For: تفاوت میان نسخه‌ها

    از ویکی پاسخ
    جز (۱ نسخه واردشده)
    جز (۱ نسخه واردشده)
     
    (یک نسخهٔ میانی ویرایش شده توسط یک کاربر دیگر نشان داده نشد)
    خط ۱۷: خط ۱۷:
    if (not use) then
    if (not use) then
    return mHatnote.makeWikitextError(
    return mHatnote.makeWikitextError(
    'no context parameter provided. Use {{other uses}} for "other uses" hatnotes.',
    'پارامتر زمینه ارائه نشده‌است. برای پیغام «دیگر کاربردها» از الگوی {{دیگر کاربردها}} استفاده کنید.',
    'Template:For#Errors',
    'الگو:برای',
    args.category
    args.category
    )
    )
    خط ۲۵: خط ۲۵:
    function two (a, b) return a, b, 1 end --lets us run ipairs from 2
    function two (a, b) return a, b, 1 end --lets us run ipairs from 2
    for k, v in two(ipairs(args)) do table.insert(pages, v) end
    for k, v in two(ipairs(args)) do table.insert(pages, v) end
    local title = mw.title.getCurrentTitle()
    local skipCat = title.isTalkPage or title.namespace == 2 --don't categorise talk pages and userspace
    local oddCat = skipCat and '' or '[[رده:الگو:سرنویس که از پارامترهای غیر معمول استفاده می‌کند]]'
    local category = yesNo(args.category)
    local category = yesNo(args.category)
    return mHatnote._hatnote(
    return mHatnote._hatnote(
    خط ۳۰: خط ۳۳:
    {selfref = args.selfref}
    {selfref = args.selfref}
    ) .. (
    ) .. (
    (use == 'other uses') and ((category == true) or (category == nil)) and
    (use == 'دیگر کاربردها') and ((category == true) or (category == nil)) and
    '[[Category:Hatnote templates using unusual parameters]]' or ''
    oddCat or ''
    )
    )
    end
    end


    return p
    return p

    نسخهٔ کنونی تا ‏۱۶ مهٔ ۲۰۲۱، ساعت ۱۰:۴۶

    توضیحات این پودمان می‌تواند در پودمان:For/توضیحات قرار گیرد.

    local mArguments --initialize lazily
    local mHatlist = require('Module:Hatnote list')
    local mHatnote = require('Module:Hatnote')
    local yesNo = require('Module:Yesno')
    local p = {}
    
    --Implements {{For}} from the frame
    --uses capitalized "For" to avoid collision with Lua reserved word "for"
    function p.For (frame)
    	mArguments = require('Module:Arguments')
    	return p._For(mArguments.getArgs(frame))
    end
    
    --Implements {{For}} but takes a manual arguments table
    function p._For (args)
    	local use = args[1]
    	if (not use) then
    		return mHatnote.makeWikitextError(
    			'پارامتر زمینه ارائه نشده‌است. برای پیغام «دیگر کاربردها» از الگوی {{دیگر کاربردها}} استفاده کنید.',
    			'الگو:برای',
    			args.category
    		)
    	end
    	local pages = {}
    	function two (a, b) return a, b, 1 end --lets us run ipairs from 2
    	for k, v in two(ipairs(args)) do table.insert(pages, v) end
    	local title = mw.title.getCurrentTitle()
    	local skipCat = title.isTalkPage or title.namespace == 2 --don't categorise talk pages and userspace
    	local oddCat = skipCat and '' or '[[رده:الگو:سرنویس که از پارامترهای غیر معمول استفاده می‌کند]]'
    	local category = yesNo(args.category)
    	return mHatnote._hatnote(
    		mHatlist.forSeeTableToString({{use = use, pages = pages}}),
    		{selfref = args.selfref}
    	) .. (
    			(use == 'دیگر کاربردها') and ((category == true) or (category == nil)) and
    			oddCat or ''
    		)
    end
    
    return p