문서 편집 권한이 없습니다. 다음 이유를 확인해주세요: 요청한 명령은 다음 중 하나의 권한을 가진 사용자에게 제한됩니다: 사용자, 관리자. 문서를 고치려면 이메일 인증 절차가 필요합니다. 사용자 환경 설정에서 이메일 주소를 입력하고 이메일 주소 인증을 해주시기 바랍니다. 문서의 원본을 보거나 복사할 수 있습니다. local p = {} -- 단순 반복문. {{#invoke:Loop|simple|대한독립 만세<br />|5}} -> 대한독립 만세 5번 반복 function p.simple(frame) local sentence = frame.args[1] local cnt = tonumber(frame.args[2]) local res = '' for i =1, cnt do res = res..sentence end return res end -- 문자 + 테이블을 이용한 반복문 -- {{#invoke:Loop|variable|{i} 꼬마 {j} 꼬마 {k} 꼬마 인디언<br />|3|i=한, 네, 일곱|j=두, 다섯, 여덟|k=세, 여섯, 아홉}} function p.variable(frame) local sentence = frame.args[1] local cnt = tonumber(frame.args[2]) local iterator = mw.ustring.gmatch(sentence, '{([^{]*)}') local set_params = {} local res = '' -- 빈 테이블 만들기 for idx =1, cnt do set_params[idx] = {} end for w in iterator do local val_args = frame.args[w] -- 프레임 형식이든 콤마 형식이든 호환성을 확보하기 위해서 --> {1, 4, 5} => 1,4,5, 형식으로 바꿔주기 val_args = mw.ustring.gsub(mw.ustring.gsub(val_args, ',%s*', ','), '^{?([^}]*)}?$', '%1,') -- val_args에서 유도 local val_parse = mw.ustring.gmatch(val_args, '(.-),') local idx = 1 -- 패턴 집어넣기 for pat in val_parse do set_params[idx][w] = pat idx = idx +1 end end for idx =1, cnt do local iterator = mw.ustring.gmatch(sentence, '{([^{]*)}') local res_part = sentence for w in iterator do res_part = mw.ustring.gsub(res_part, '{'..w..'}', set_params[idx][w]) end res = res..res_part end return res end return p 이 문서에서 사용한 틀: 모듈:Loop/설명문서 (원본 보기) 모듈:Loop 문서로 돌아갑니다.