Mô đun:Other uses

local mHatnote = require('Module:Hatnote')
local mHatlist = require('Module:Hatnote list')
local mArguments --initialize lazily
local mTableTools --initialize lazily
local libraryUtil = require('libraryUtil')
local checkType = libraryUtil.checkType
local p = {}

-- Produces standard {{other uses}} implementation
function p.otheruses(frame)
	mArguments = require('Module:Arguments')
	mTableTools = require('Module:TableTools')
	local args = mTableTools.compressSparseArray(mArguments.getArgs(frame))
	local title = mw.title.getCurrentTitle().prefixedText
	return p._otheruses(args, {title=title})
end

-- Produces standard {{other uses2}} implementation
function p.otheruses2(frame)
	return p._otheruses({}, {title = (frame:getParent().args[1] or mw.title.getCurrentTitle().prefixedText)})
end

--Implements "other [x]" templates with otherText supplied at invocation
function p.otherX(frame)
	mArguments = require('Module:Arguments')
	mTableTools = require('Module:TableTools')
	local x = frame.args[1]
	local args = mTableTools.compressSparseArray(
		mArguments.getArgs(frame, {parentOnly = true})
	)
	local options = {
		title = mw.title.getCurrentTitle().prefixedText,
		otherText = x
	}
	return p._otheruses(args, options)
end

-- Main generator
function p._otheruses(args, options)
	--Type-checks and defaults
	checkType('_otheruses', 1, args, 'table', true)
	args = args or {}
	checkType('_otheruses', 2, options, 'table')
	if not (options.defaultPage or options.title) then
		error('Không có dữ liệu tiêu đề mặc định được cung cấp trong bảng tùy chọn "_otheruses"', 2)
	end
	local emptyArgs = true
	for k, v in pairs(args) do
		if type(k) == 'number' then emptyArgs = false break end
	end
	if emptyArgs then
		args = {
			options.defaultPage or
			mHatnote.disambiguate(options.title, options.disambiguator)
		}
	end
	--Generate and return hatnote
	local text = mHatlist.forSeeTableToString({{
		use = options.otherText and "other " .. options.otherText or nil,
		pages = args
	}})
	return mHatnote._hatnote(text)
end

return p
Chúng tôi bán
Bài viết liên quan
Giới thiệu nhân vật Cha Hae-In - Solo Leveling
Giới thiệu nhân vật Cha Hae-In - Solo Leveling
Cha Hae-In (차해인) là Thợ săn hạng S người Hàn Quốc và là Phó chủ tịch của Hội thợ săn.
Bọt trong Usucha có quan trọng không?
Bọt trong Usucha có quan trọng không?
Trong một thời gian, trường phái trà đạo Omotesenke là trường phái trà đạo thống trị ở Nhật Bản, và usucha mà họ làm trông khá khác so với những gì bạn có thể đã quen.
Download the Motorola Razr’s Retro App, Live Wallpapers
Download the Motorola Razr’s Retro App, Live Wallpapers
Foldable phones were a big story in 2019 but one brand stole the show with a heavy dose of nostalgia. Samsung’s Galaxy Fold may be a bigger, more powerful foldable, but it doesn’t have the same name recognition as the iconic razr. Motorola is well aware of this and they included several goodies to amp it up.
Valentine đen 14/4 - Đặc quyền bí mật khi em chưa thuộc về ai
Valentine đen 14/4 - Đặc quyền bí mật khi em chưa thuộc về ai
Giống như chocolate, những món ăn của Valentine Đen đều mang vị đắng và ngọt hậu. Hóa ra, hương vị tình nhân và hương vị tự do đâu có khác nhau nhiều