Jump to content
Main menu
Main menu
move to sidebar
hide
འགྲུལ་བསྐྱོད།
མ་ཤོག།
མི་སྡེའི་སྒོ་ར།
འཕྲལ་གྱི་བསྒྱུར་བཅོས
གང་འབྱུང་ཤོག་ལེབ།
གྲོགས་རམ།
དམིགས་བསལ་ཤོག་ལེབ།
འཚོལ་ཞིབ།
འཚོལ་ཞིབ།
Appearance
ཕན་འདེབས།
ནང་བསྐྱོད
ནང་བསྐྱོད།
རང་དོན་ལག་ཆས།
ཕན་འདེབས།
ནང་བསྐྱོད
ནང་བསྐྱོད།
Module
:
For loop
ཞུན་དག་འབད་དོ།
Add languages
Module
གྲོས་བསྡུར།
English
ལྷག
Edit source
View history
ལག་ཆས་ཚུ་
Tools
move to sidebar
hide
ལས་སྣ་ཚུ་
ལྷག
Edit source
View history
General
ནཱ་ལུ་ ག་ཅི་འབྲེལ་མཐུད་འོང་ནི་མས།
འབྲེལ་བ་ཅན་གྱི་བསྒྱུར་བཅོས།
ཡིག་སྣོད་སྐྱེལ་བཙུགས་འབད།
ཤོག་ངོས་བརྡ་དོན།
Get shortened URL
Switch to legacy parser
In other projects
Appearance
move to sidebar
hide
Warning:
You are not logged in. Once you make an edit, a temporary account will be created for you.
Learn more
.
Log in
or
create an account
to continue receiving notifications after this account expires, and to access other features.
Anti-spam check. Do
not
fill this in!
-- This module implements {{for loop}}. local getArgs = require('Module:Arguments').getArgs local yesno = require('Module:Yesno') local p = {} function p.main(frame) local args = getArgs(frame, { trim = false, removeBlanks = false }) return p._main(args) end function p._main(args) local template = args['call'] or 'void' local calltemplates = yesno(args.substall or "", true) or not mw.isSubsting() local variableParam = args.pv variableParam = tonumber(variableParam) or variableParam or 1 -- fix for positional parameters local variableValPrefix = args.prefix or '' local variableValPostfix = args.postfix or '' local sep = args[1] or '' local constantArgs = p.getConstants(args) local variableVals = p.getVariableVals(args) local result = '' local addSeparator = false; for _, v in ipairs(variableVals) do v = mw.text.trim(v) if #v > 0 or not yesno(args.skipBlanks) then if addSeparator then result = result .. sep end addSeparator = true; local targs = constantArgs targs[variableParam] = variableValPrefix .. v .. variableValPostfix if calltemplates then local output = p.callTemplate(template, targs) if #mw.text.trim(output) == 0 then addSeparator = false end result = result .. output else local makeTemplate = require('Module:Template invocation').invocation result = result .. makeTemplate(template, targs) end end end return result end function p.getConstants(args) local constantArgNums = p.getArgNums(args, 'pc', 'n') local constantArgs = {} for _, num in ipairs(constantArgNums) do local keyArg = 'pc' .. tostring(num) .. 'n' local valArg = 'pc' .. tostring(num) .. 'v' local key = args[keyArg] key = tonumber(key) or key local value = args[valArg] constantArgs[key] = value end return constantArgs end function p.getVariableVals(args) local variableVals = {} if args.start or args.stop or args.by then if args[2] then error("Both start/stop/by and numbered parameters specified") end local start = tonumber(args.start or 1) local stop = tonumber(args.stop or 1) local by = tonumber(args.by or 1) for i = start, stop, by do variableVals [#variableVals + 1] = i end else for i, v in ipairs(args) do if i ~= 1 then variableVals[i - 1] = v end end end return variableVals end function p.getArgNums(args, prefix, suffix) -- Returns a table containing the numbers of the arguments that exist -- for the specified prefix and suffix. local nums = {} local pattern = '^' .. prefix .. '([1-9]%d*)' .. suffix .. '$' for k, _ in pairs(args) do local num = tostring(k):match(pattern) if num then nums[#nums + 1] = tonumber(num) end end table.sort(nums) return nums end function p.callTemplate(template, targs) return mw.getCurrentFrame():expandTemplate{title = template, args = targs} end return p
བཅུད་དོན།:
By saving changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
This site is protected by hCaptcha and its
Privacy Policy
and
Terms of Service
apply.
JavaScript is required to continue. Turn on JavaScript in your browser settings and refresh the page.
Publish changes
བསྒྱུར་བཅོས་ཚུ་སྟོན།
ཆ་མེད་གཏང་།
ཞུན་དག་གྲོགས་རམ།
(ཝིན་ཌོ་གསརཔ་ནང་ ཁ་ཕྱེཝ་ཨིན།)
Preview page with this template
ཤོག་ལེབ་འདི་གུ་ལག་ལེན་འཐབ་ཡོད་པའི་ཊེམ་པེལེཊི:
Module:For loop/doc
(
edit
)
འཚོལ་ཞིབ།
འཚོལ་ཞིབ།
Module
:
For loop
ཞུན་དག་འབད་དོ།
Add languages
Add topic