모듈:국가 인구

Module
요구하다('''비공식''') 현지의 에프앤 = 요구하다('모듈:형식 번호') 현지의 음. = 요구하다('모듈:수학') 현지의 p ={} --local pargs = {} 현지의 논병아리={} 현지의 데이터.={}  p.args를 얻다 =기능.(프레임 Args)     위해서 k,v  쌍들(프레임 Args) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다      논병아리[k]=v     끝. 끝.  p.주된 = 기능.() 템플릿의 진입점    p.args를 얻다(:상위 항목 가져오기().논병아리)                  프레임 인수가 처리되는 방식 때문에 인수를 복사해야 합니다.     한다면 논병아리['리스트'] 그리고나서 p.목록에서 국가 가져오기(논병아리['리스트']) 끝.    한다면 논병아리['모드'] == "파이차트" 그리고나서   돌아가다 p._파이차트()  또 다른   돌아가다 p._인구()  끝.      끝. 기능. p.목록에서 국가 가져오기(목록.)  현지의 국가_목록 = {   ['남미']  = { "ARG","볼","BRA","CHL","COL","ECU","GUY","PRY","PER","SUR","URY","VEN","BVT","FLK","SGS","GUF" },   ['북미']  = { "ATG","BHS","BLZ","BRB","CAN","CRI","CUB","DMA","DOM","GRD","GTM","HND","HTI","JAM","KNA","LCA","MEX","NIC","PAN","SLV","TTO","미국","VCT" },   ['아랍 국가들'] = { "EGY","DZA","SDN","IRQ","MAR","SAU","YEM","SYR","TUN","JOR","ARE","LBN","LBY","PSE","OMN","KWT","MRT","QAT","BHR","DJI","COM" }  }   ---local i=1  위해서 k,v  쌍들( 국가_목록[목록.] ) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다       --args[i] = v       논병아리[k] = v       --i=i+1  끝.  끝.  기능. p.패턴 가져오기(부분)  현지의 양식 = '<섹션 시작=' .. 부분 ..'[ ]*/>(.)<섹션 끝='..부분..'[ ]*/>'  돌아가다 양식 끝. 기능. p.모집단 데이터 가져오기()      현지의 페이지입니다. = "인구(국제 연합)에 따른 나라 목록"  데이터.['''비공식'''] = {}  데이터.['합계'] = {}  데이터..['''비공식'''] = 0  데이터..['이전'] = 0  데이터..['''비공식'''] = 0    --local 합계 = 0  --local totalProjected = 0  현지의 세어보세요 = 0  현지의 제목 = mw.제목.신규( 페이지입니다.) , ns) - 페이지가 존재하지 않는 경우 오브젝트를 작성합니다(및 유효한 페이지 이름).                                              --TODO: mw.title.makeTitle()을 사용할 수 있지만 ns가 필요합니다.    현지의 내용물 = 제목:콘텐츠 가져오기()          데이트 상대를 보다  위해서 가치  string.gmatch( 내용물 , p.패턴 가져오기("date_1") ) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다   데이터..날짜['''비공식''']=가치                                    최신 데이터의 날짜  끝.  위해서 가치  string.gmatch( 내용물 , p.패턴 가져오기("date_0") ) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다      데이터..날짜['이전']=mw.콘텐츠 언어 가져오기():formatDate('jFY', 가치)  끝.    데이터..날짜['오늘'] = mw.콘텐츠 언어 가져오기():formatDate('jFY')      오늘 날짜(포맷은 https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions #.23 시간 참조)          매개 변수로 통과하는 각 국가의 모집단 데이터 가져오기  위해서 k,v  짝을 짓다(논병아리) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다   현지의 나라 = mw.본문.다듬다(v)      섹션에서 모집단 데이터 가져오기      현지의 부분 = 나라 .. "_1"   위해서 가치  string.gmatch( 내용물 , p.패턴 가져오기(부분) ) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다        세어보세요=세어보세요+1       데이터.[세어보세요] = {}          데이터.[세어보세요]['국가'] = 나라    데이터.[세어보세요]['populationString'] = :전처리(가치)    현지의 날것의 = string.gsub(데이터.[세어보세요]['populationString'], ",", "") 번호 문자열에서 서식 제거             데이터.[세어보세요]['인구 수'] = 수에 달하여(날것의)             데이터..['''비공식'''] = 데이터..['''비공식'''] + 데이터.[세어보세요]['인구 수']                          현지의 부분 = 나라 .. "_0"             위해서 가치2   string.gmatch( 내용물 , p.패턴 가져오기(부분) ) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다     데이터.[세어보세요]['populationString2'] = :전처리(가치2)     현지의 날것의 = string.gsub(데이터.[세어보세요]['populationString2'], ",", "") 번호 문자열에서 서식 제거                 데이터.[세어보세요]['인구 2'] = 수에 달하여(날것의)                 데이터..['이전'] = 데이터..['이전'] + 데이터.[세어보세요]['인구 2']                                  데이터.[세어보세요]['인구'증분']=데이터.[세어보세요]['인구 수'] - 데이터.[세어보세요]['인구 2']                 데이터.[세어보세요]['인구 증가'] =데이터.[세어보세요]['인구'증분']/데이터.[세어보세요]['인구 2']                 데이터.[세어보세요]['인구 2배'] = p.모집단을 두 배로 가져옵니다.시간을(데이터.[세어보세요]['인구 수'],데이터.[세어보세요]['인구 2'])                  데이터.[세어보세요]['계획된 인구'] = p.인구 예측 가져오기(데이터.[세어보세요]['인구 수'],데이터.[세어보세요]['인구 2'])                 데이터..['''비공식'''] = 데이터..['''비공식'''] + 데이터.[세어보세요]['계획된 인구']              끝.    끝.  끝.       돌아가다 진실의 끝.  최근의 성장률에 근거하여 인구를 두 배로 늘리는 데 걸리는 시간을 추정합니다. 기능. p.모집단을 두 배로 가져옵니다.시간을(최근.,이전의)  현지의 성장 = (최근. - 이전의) / 이전의     현지의 더블 타임 = 수학 로그( 2 ) / 수학 로그(1 + 성장)     돌아가다 더블 타임 끝.  최근의 성장률에 근거하여 오늘날의 인구를 추정합니다. 기능. p.인구 예측 가져오기(최근.,이전의)  현지의 에이 =  ( mw.현재 프레임 가져오기():콜 파서 함수{ 이름. = '#시간', 논병아리 = { "U", 데이터..날짜['오늘'] } }                 - mw.현재 프레임 가져오기():콜 파서 함수{ 이름. = '#시간', 논병아리 = { "U", 데이터..날짜['이전'] } })                 /60/60/24/365.2425 첫 번째 날짜부터 오늘까지의 년 수  현지의 투사된 = 수학.pow(이전의, 1 - 에이 ) * 수학.pow(최근., 에이)     돌아가다 투사된 끝.  --[[ 인구순으로 행 정렬(최근 인구순으로 정렬) TODO 열 정렬 옵션 추가 ]] 기능. p.모집단 데이터 정렬(열별)       현지의 sort_function = 기능.( a,b )      한다면 (수에 달하여(a.populationNumber) > 수에 달하여(b.populationNumber)) 그리고나서                '인구'에 대한 1차 정렬 -> a before b.          돌아가다 진실의      끝.  끝.        테이블. 테이블.(데이터., sort_function) 끝. --[[ 플래그 아이콘 가져오기 및 특수 케이스 처리 기능 정적 순위 열과 함께 사용할 경우 비표준 크기의 문제가 있습니다. 추가 높이(및 필요한 크기 매개변수)가 있는 세 국가는 네팔/NPL(size=12ppm), 스위스/CHE(size=15ppm), 바티칸/VAT(size=15ppm) 일부는 기본 높이가 낮으므로 문제가 되지 않습니다(폴란드, 뉴칼레도니아). 별칭(예: NEP->NPL, TRI->TTO) ]] 기능. p.플래그 레이블 가져오기(국가 코드)  현지의 산출량   현지의 템플릿 인수 = { 국가 코드 }    현지의 크기     한다면 국가 코드 == "CHE" 또는 국가 코드 == "VAT" 그리고나서      크기="15인치"     그렇지 않으면 국가 코드 == "NPL" 그리고나서      크기="12인치"     끝.     한다면 크기 그리고나서 템플릿 인수['크기'] = 크기 끝.   간단한 버전  --output = mw.getCurrentFrame():expandTemplate{title= "templatecountry", 인수 = templateArgs }    고정 높이 디브 및 오버플로가 있는 방법     산출량 = '<div style="높이:15인치;높이:15인치;">     .. mw.현재 프레임 가져오기():확장템플릿{ 제목 = "비공식 국가", 논병아리 = 템플릿 인수  }        .. '/div'      돌아가다 산출량                      끝.  --[[ 데이터 출력 테이블을 Wikitext 테이블로 사용 ]] 기능. p.표:데이터Wik 텍스트()      현지의 산출량     현지의 i = 1     출력표     산출량 = class="연속 정렬 가능 mw-dataable" style="text-align:right;"    테이블     산출량 = -class=messages'     산출량 = 산출량                                                        --timeout(맨 위 행)               .. '\n!rowspan=2 #'               .. '\n!rowspan=2 국가'               .. '\n!rowspan=2 예상 인구 <br/>(' .. 데이터.['''비공식''']['오늘'] .. ')'                .. '\n!rowspan=2 Pct/<br/>합계'               .. '\n!colspan=2 UN 인구 추정치'               .. '\n!colspan=2 연간 성장률'               .. '\n!rowspan=2 배증시간<br/>(년)'                            .. '\n-'                                                    머리글(두 번째 행)               .. '\n!' .. 데이터..날짜['''비공식''']                .. '\n!' .. 데이터..날짜['이전']                .. '\n!증분'               .. '\n!요금'                            하는 동안에 (데이터.[i]) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다                                                     행 추가        산출량 = 산출량 .. '\n-\n' ..  i         산출량 = 산출량 .. '\nstyle="text-align:left;" .. :확장템플릿{ 제목 = "syslog+link", 논병아리 = {'인구통계', 데이터.[i]['국가'] }  }        산출량 = 산출량 .. '\n' .. 음.._filename_format(데이터.[i]['계획된 인구'],0)          산출량 = 산출량 .. '\n' .. 음.._filename_format(데이터.[i]['계획된 인구']/데이터..['''비공식''']*100,2) .. "%" 투사된        산출량 = 산출량 .. '\n' .. 데이터.[i]['populationString']         산출량 = 산출량 .. '\n' .. 데이터.[i]['populationString2']         산출량 = 산출량 .. '\n' .. 음.._filename_format(데이터.[i]['인구'증분'],0)         산출량 = 산출량 .. '\n' .. 음.._원형의(데이터.[i]['인구 증가']*100,2) .. "%"        산출량 = 산출량 .. '\n' .. 음.._원형의(데이터.[i]['인구 2배'],0)        i=i+1     끝.          현지의 새로운 세포 = '\nstyle="text-align:right;"         산출량 = 산출량 .. '\n-'                                              총 행         .. '\n!! 토탈'          .. 새로운 세포 .. 에프앤.formatNum(음.._원형의(데이터..['''비공식'''],0),"en",0)          .. 새로운 세포 .. '100%'         .. 새로운 세포 .. 에프앤.formatNum(데이터..['''비공식'''],"en",0)          .. 새로운 세포 .. 에프앤.formatNum(데이터..['이전'],"en",0)          .. 새로운 세포 .. 에프앤.formatNum(데이터..['''비공식''']-데이터..['이전'],"en",0)         .. 새로운 세포 .. 에프앤.formatNum((데이터..['''비공식''']-데이터..['이전'])/데이터..['이전']*100,"en",2).."%"         .. 새로운 세포 .. 음.._filename_format(p.모집단을 두 배로 가져옵니다.시간을(데이터..['''비공식'''],데이터..['이전']),0)                                       산출량 = 산출량 .. '\n}'     돌아가다 산출량 끝.   --[[ Lua HTML 라이브러리 사용 시 데이터 출력 표 ]] 기능. p.표 형식 데이터()          현지의 연도 콜 숨기기 = 거짓의     한다면 논병아리['hide_years] == "참" 그리고나서 연도 콜 숨기기 = 진실의 끝. 프레임 인수는 부울이 아닌 문자열입니다.     현지의 더블링각주 = 논병아리['note_note'] 또는 ""     현지의 성장각주 = 논병아리['성장_노트'] 또는 ""          현지의 i = 1     현지의 정적인 = mw.html.만들다('탁자'):addClass('불가피한')                                               정적인:꼬리표를 달다('tr'):꼬리표를 달다('th'):매력적인('행 간격', 1):위키텍스트('<br/>'):css텍스트('경계-하단-색상:#eaecf0;')     정적인:꼬리표를 달다('tr'):꼬리표를 달다('th'):위키텍스트('<br/>'):css텍스트('경계 맨 위 색상:#eaecf0;')     하는 동안에 (데이터.[i]) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다                                                     행 추가   정적인:꼬리표를 달다('tr'):꼬리표를 달다('''비공식'''):위키텍스트(i)   i=i+1  끝.     정적인:꼬리표를 달다('tr'):꼬리표를 달다('th'):위키텍스트('<br/>')     현지의 numRows=i-1      현지의 티블 = mw.html.만들다('탁자'):addClass('불가피한')             시작 테이블                                        :addClass('예측 가능한')                                        :addClass('srn-datatable')                                        :addClass('정적 행 정렬')   CSS 및 템플릿 스타일을 사용하여 행 번호가 있는 접두사 :addClass('nowrap')                                        :CSS('텍스트 정렬','옳음')                                             현지의 배를 젓다 = 티블:꼬리표를 달다('tr')                                             머리글 행                    :addClass('정적 행 정렬')                                어떤 가죽의 템플 스타일을 위하여.    --:tag('th':특성 "rowspan', 2):"tagitext"#")  배를 젓다     :꼬리표를 달다('th'):매력적인('행 간격', 2):위키텍스트('국가')    :꼬리표를 달다('th'):매력적인('행 간격', 2):위키텍스트('예상 인구 <br/>()' .. 데이터.['''비공식''']['오늘'] .. ')' )       :꼬리표를 달다('th'):매력적인('행 간격', 2):위키텍스트('총계의 백분율')     한다면 것은 아니다. 연도 콜 숨기기 그리고나서   배를 젓다 :꼬리표를 달다('th'):매력적인('colspan', 2):위키텍스트('UN 인구 추정치')  끝.  배를 젓다     :꼬리표를 달다('th'):매력적인('colspan', 2):위키텍스트('연간 성장'..성장각주)       :꼬리표를 달다('th'):매력적인('행 간격', 2):위키텍스트('두 배의 시간 <br/>(년)'..더블링각주)          배를 젓다 = 티블:꼬리표를 달다('tr')                                                    머리글(두 번째 행)              :addClass('정적 행 정렬')                                어떤 가죽의 템플 스타일을 위하여.     한다면 것은 아니다. 연도 콜 숨기기 그리고나서   배를 젓다 :꼬리표를 달다('th'):위키텍스트(데이터..날짜['''비공식'''] )       :꼬리표를 달다('th'):위키텍스트(데이터..날짜['이전'] )     끝.  배를 젓다  :꼬리표를 달다('th'):위키텍스트('증분')       :꼬리표를 달다('th'):위키텍스트('요금')                    i = 1     하는 동안에 (데이터.[i]) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다                                                     국가 행 추가      현지의 배를 젓다=티블:꼬리표를 달다('tr')       한다면 p.계급이 없는(i) 그리고나서     배를 젓다:addClass('정적인 행을 선택하지 않음')  순위 번호 표시를 억제하는 클래스 추가      끝.         --row:tagtd('':tagitext(i)   배를 젓다  :꼬리표를 달다('''비공식'''):css텍스트("텍스트 정렬:왼쪽;")                  :위키텍스트( :확장템플릿{ 제목 = "syslog+link", 논병아리 = { '인구통계', 데이터.[i]['국가'] } } )     :꼬리표를 달다('''비공식'''):위키텍스트( 음.._filename_format(데이터.[i]['계획된 인구'],0)  )     :꼬리표를 달다('''비공식'''):위키텍스트( 음.._filename_format(데이터.[i]['계획된 인구']/데이터..['''비공식''']*100,2) .. "%" ) 예상 비율(%)   한다면 것은 아니다. 연도 콜 숨기기 그리고나서    배를 젓다 :꼬리표를 달다('''비공식'''):위키텍스트( 데이터.[i]['populationString'] )     :꼬리표를 달다('''비공식'''):위키텍스트( 데이터.[i]['populationString2'] )   끝.   배를 젓다  :꼬리표를 달다('''비공식'''):위키텍스트( 음.._filename_format(데이터.[i]['인구'증분'],0) )     :꼬리표를 달다('''비공식'''):위키텍스트( 음.._filename_format(데이터.[i]['인구 증가']*100,2) .. "%" )     :꼬리표를 달다('''비공식'''):위키텍스트( 음.._filename_format(데이터.[i]['인구 2배'],0) )   i=i+1     끝.          현지의 스타일. = { ['텍스트 정렬']='옳음' }         배를 젓다 = 티블:꼬리표를 달다('tr')                                             총 행             :addClass('정적 행 정렬')                                어떤 가죽의 템플 스타일을 위하여.       --:tag('th') : "tagitext"  배를 젓다     :꼬리표를 달다('th')           :위키텍스트('합계')       :꼬리표를 달다('th'):CSS(스타일.):위키텍스트( 에프앤.formatNum(음.._원형의(데이터..['''비공식'''],0),"en",0) )        :꼬리표를 달다('th'):CSS(스타일.):위키텍스트( '100%' )  한다면 것은 아니다. 연도 콜 숨기기 그리고나서     배를 젓다  :꼬리표를 달다('th'):CSS(스타일.):위키텍스트( 에프앤.formatNum(데이터..['''비공식'''],  "en",0) )       :꼬리표를 달다('th'):CSS(스타일.):위키텍스트( 에프앤.formatNum(데이터..['이전'],"en",0) )  끝.  배를 젓다  :꼬리표를 달다('th'):CSS(스타일.):위키텍스트( 에프앤.formatNum(데이터..['''비공식''']  - 데이터..['이전'],"en",0) )       :꼬리표를 달다('th'):CSS(스타일.):위키텍스트( 에프앤.formatNum((데이터..['''비공식'''] - 데이터..['이전']) / 데이터..['이전'] * 100,"en",2).."%" )       :꼬리표를 달다('th'):CSS(스타일.):위키텍스트( 음.._filename_format(p.모집단을 두 배로 가져옵니다.시간을(데이터..['''비공식'''],데이터..['이전']),0) )                                    문자열로 돌아가기(tbl) - 행 번호 없이 테이블을 반환합니다.          정적 행 번호에 별도의 열 사용     '{ \n style="syslog-align:top;" ... 문자열(static)로 반환합니다.'\n' ... 문자열(tbl) ...'\n}'          CSS 메서드 및 템플릿 스타일을 사용하여 행 번호 앞에 붙입니다.     돌아가다 p.templateStyle( , "템플릿:정적_row_numbers/styles.css" ) .. 끈으로 묶는(티블) 끝.  --[function p.norank(i) 첫 번째 열에 순위 번호가 표시되지 않는 영역에 대해 순위 매개 변수 검사 ]] 기능. p.계급이 없는(i)  한다면 논병아리['nor rank] 그리고나서                                                          순위 변수가 없는 경우   한다면  줄을 대다( 논병아리['nor rank], 데이터.[i]['국가'], 1, 진실의 ) ~= 영의 그리고나서  국가 코드 포함    돌아가다 진실의                                                             참으로 돌아오다      끝.  --if data[i]['country'] == "FLK" 또는 data[i]['country'] == "GUF"인 경우 true end를 반환합니다.  끝.  돌아가다 거짓의                                                                    종료 반환 거짓 끝. --[function p.populations (frame) -- 현재 주 입력 함수 국가 코드 목록을 가져옵니다. 인구순 국가 목록(유엔)에서 인구 데이터 가져오기 출력 정렬된 테이블 ]] 기능. p.인구() 호출을 위한 진입점(프레임 인수 사용)          논병아리 = .논병아리  --TODO 템플릿의 상위 인수 처리     돌아가다 p._인구() 끝. 기능. p._인구()         현지의 페이지입니다. = "인구(국제 연합)에 따른 나라 목록"   현지의 제목 = mw.제목.신규( 페이지입니다.) , ns) - 페이지가 존재하지 않는 경우 오브젝트를 작성합니다(및 유효한 페이지 이름).                                              --TODO: mw.title.makeTitle()을 사용할 수 있지만 ns가 필요합니다.     현지의 산출량 = ""  한다면 제목 그리고. 제목.존재한다 그리고나서    현지의 내용물 = 제목:콘텐츠 가져오기()          한다면 것은 아니다. p.모집단 데이터 가져오기() 그리고나서          돌아가다 p.에러 메시지("데이터를 검색하는 중 오류가 발생했습니다.")         끝.      p.모집단 데이터 정렬("스캐너덜너덜)                  --output = p.tabulateDataWikitext(프레임) -- Wikitext가 있는 버전 작성 테이블         산출량 =  p.표 형식 데이터()           mw.mw.mw 라이브러리가 있는 버전 빌드              또 다른      돌아가다  '<span class="오류"페이지 제목을 찾을 수 없습니다.'  끝.      현지의 시험 = "테스트: "   현지의 번호=5435.12345   시험=  에프앤.formatNum(5435.12345,"en",0)  --test= frame:expandTemplate{title = "formatnum", 인수 = {totalProjected},en",0 }  --test=frame:callParserFunction{name='formatnum', args={totalProjected, decs=2}}            돌아가다 산출량            테스트 끝. 파이 차트에 대한 함수 기능. p.파이 차트()          논병아리 = .논병아리  --TODO 템플릿의 상위 인수 처리     돌아가다 p._파이차트() 끝. 기능. p._파이차트()           현지의 페이지입니다. = "인구(국제 연합)에 따른 나라 목록"   현지의 제목 = mw.제목.신규( 페이지입니다.) , ns) - 페이지가 존재하지 않는 경우 오브젝트를 작성합니다(및 유효한 페이지 이름).                                              --TODO: mw.title.makeTitle()을 사용할 수 있지만 ns가 필요합니다.     현지의 산출량 = ""  한다면 제목 그리고. 제목.존재한다 그리고나서    현지의 내용물 = 제목:콘텐츠 가져오기()          한다면 것은 아니다. p.모집단 데이터 가져오기() 그리고나서          돌아가다 p.에러 메시지("데이터를 검색하는 중 오류가 발생했습니다.")         끝.      p.모집단 데이터 정렬("스캐너덜너덜)                  --output = p.tabulateDataWikitext(프레임) -- Wikitext가 있는 버전 작성 테이블         산출량 =  p.파이 차트 만들기()           mw.mw.mw 라이브러리가 있는 버전 빌드              또 다른      돌아가다  '<span class="오류"페이지 제목을 찾을 수 없습니다.'  끝.             돌아가다 산출량            테스트 끝.  기능. p.파이 차트 만들기()           --localargs=frame.args    현지의 템플릿 인수 = {}        템플릿 인수['''비공식'''] = 논병아리['''비공식'''] 또는 "" --'국가별 남미 인구' --..(상위 8개)'    템플릿 인수['''비공식'''] = 논병아리['''비공식'''] 또는 "옳음"    템플릿 인수['기타'] = 논병아리['기타'] 또는 영의    현지의 maxSlices = 수에 달하여(논병아리['''비공식''']) 숫자가 아니더라도 0인    한다면 유형(maxSlices) ~= "숫자" 또는 maxSlices > 30 또는 maxSlices < 1 그리고나서     maxSlices = 30 템플릿의 한계 - 데이터에서 번호 가져오기    끝.                  현지의 i=1    하는 동안에 데이터.[i] 그리고. i <= maxSlices 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다     --templateArgs['label'..= 데이터[i]['국가']     템플릿 인수['라벨'..i] = mw.현재 프레임 가져오기():확장템플릿{ 제목 = "getalias", 논병아리 = { 데이터.[i]['국가'], 날것의='y', '짧은 이름' } }     템플릿 인수['가치'..i] = 음.._원형의( 데이터.[i]['인구 수']/데이터..['''비공식''']*100,1)     템플릿 인수['색상'..i] = 논병아리['색상'..i] 또는 영의     i=i+1    끝.      --[{{파이 차트 caption= 국가별 남미 인구(상위 8개) 기타 = 예 label1 = {{getalias BRA}} value1 = {{#expr} : {{country population BRA raw=y}} / {{xyz Total} * 100 round 1} label2 = {{getalias COL}} value2 = {{#expr} : {{country population COL raw=y}} / {{xyz Total} * 100 round 1} label3 = {{getalias ARG}} value3 = {{#expr} : {{country population ARG raw=y}} / {{xyz Total} * 100 round 1} label4 = {{getalias PER}} value4 = {{#expr : {{country population PER raw=y}} / {{xyz Total}} * 100 라운드 1} 라벨5 = {{getalias VEN}} value5 = {{#expr} : {{country population VEN raw=y}} / {{xyz Total} * 100 round 1} label6 = {{getalias CHL}} value6 = {{#expr} : {{country population CHL raw=y}} / {{xyz Total} * 100 round 1} label7 = {{getalias ECU}} value7 = {{#expr} : {{country population ECU raw=y}} / {{xyz Total} * 100 round 1} label8 = {{getalias BOL}} value8 = {{#expr} : {{country population BOL raw=y}} / {{xyz Total} * 100 round 1} }}  ]]         현지의 차트 = mw.현재 프레임 가져오기():확장템플릿{ 제목 = "파이 차트", 논병아리 = 템플릿 인수  }        돌아가다 차트      끝.   기능. p.맨 위로(스트르)     돌아가다 (스트르:gsub("^%l", 현.상단)) 끝. p.에러 메시지 = 기능. (메세지)  돌아가다 '<span class="error">' .. 메세지 .. '/span'  끝.   테스트: 정렬이 잘못된 수준으로 적용된 이유는 무엇입니까?고정된. 기능. p.시험() 평균 검정 »      현지의 티블 = mw.html.만들다('탁자'):addClass('불가피한'):addClass('예측 가능한'):addClass('mw-datable')                                                    :CSS('텍스트 정렬','옳음')          티블:꼬리표를 달다('tr')                                             머리글 행   :꼬리표를 달다('th'):매력적인('행 간격', 2):위키텍스트('#')   :꼬리표를 달다('th'):매력적인('행 간격', 2):위키텍스트('A')      :꼬리표를 달다('th'):매력적인('행 간격', 2):위키텍스트('B')      :꼬리표를 달다('th'):매력적인('colspan', 2):위키텍스트('C+D'):addClass('분리할 수 없는')      :꼬리표를 달다('th'):매력적인('colspan', 2):위키텍스트('E+F'):addClass('분리할 수 없는')      :꼬리표를 달다('th'):매력적인('행 간격', 2):위키텍스트('G')          티블:꼬리표를 달다('tr')                                                    머리글(두 번째 행)      :꼬리표를 달다('th'):위키텍스트('C'):addClass('예측 가능한')      :꼬리표를 달다('th'):위키텍스트('D'):addClass('예측 가능한')      :꼬리표를 달다('th'):위키텍스트('E'):addClass('예측 가능한')      :꼬리표를 달다('th'):위키텍스트('F')   :addClass('예측 가능한')                 현지의 i = 1     하는 동안에 (i<5) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다                                                     행 추가   티블:꼬리표를 달다('tr')     :꼬리표를 달다('''비공식'''):위키텍스트(i)      :꼬리표를 달다('''비공식'''):위키텍스트("A"..i)    :꼬리표를 달다('''비공식'''):위키텍스트("B"..i)    :꼬리표를 달다('''비공식'''):위키텍스트(끈으로 묶는(math.fmod(5-i,2)) .. 'C' .. i )    :꼬리표를 달다('''비공식'''):위키텍스트("D"..i)    :꼬리표를 달다('''비공식'''):위키텍스트("E"..i)    :꼬리표를 달다('''비공식'''):위키텍스트(끈으로 묶는(math.fmod(5-i,2)) .. 'F' .. i )    :꼬리표를 달다('''비공식'''):위키텍스트("G"..i)   i=i+1     끝.          현지의 산출량 = class="연속 정렬 가능 mw-dataable" style="text-align:right;"    테이블     산출량 = 산출량               .. '\n!rowspan=2 #'               .. '\n!rowspan=2 A'               .. '\n!rowspan=2 B'                .. '\n!colspan=2 C+D'               .. '\n!colspan=2 E+F'               .. '\n!rowspan=2 G'                            .. '\n-'                                                    머리글(두 번째 행)               .. '\n!C'                .. '\n!D'                .. '\n!E'               .. '\n!F'                       i=1     하는 동안에 (i<5) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다                                                     행 추가        산출량 = 산출량 .. '\n-\n' ..  i         산출량 = 산출량 .. '\nA' .. i         산출량 = 산출량 .. '\nB' .. i        산출량 = 산출량 .. '\n' .. 끈으로 묶는(math.fmod(5-i,2)) .. 'C' .. i         산출량 = 산출량 .. '\nD' .. i         산출량 = 산출량 .. '\n이' .. i         산출량 = 산출량 .. '\n' .. 끈으로 묶는(math.fmod(5-i,2)) .. 'F' .. i         산출량 = 산출량 .. '\n지' .. i        i=i+1     끝.     산출량 = 산출량 .. '\n}'      돌아가다 산출량 .. 끈으로 묶는(티블) 끝.  정적 순위 열에 대한 함수  기능. p.순위()   --args = frame.args -- 모듈 TODO의 경우 호출을 허용합니다.  논병아리 = :상위 항목 가져오기().논병아리 템플릿에 대한 상위 인수  논병아리 = .논병아리 템플릿에 대한 인수 호출    현지의 캡션         = 논병아리['''비공식''']            현지의 발랄한          = 논병아리['발랄'] 또는 "맨 위"  현지의 rowHeader       = 논병아리['줄타기']   현지의 헤더 패딩   = 논병아리['1989-1989'] 또는 "0인치"  현지의 텍스트 정렬       = 논병아리['텍스트 정렬'] 또는 "옳음"  현지의 스타일.           = 논병아리['스타일'] 또는 ""  현지의 머리글 높이    = 논병아리['304-높이'] 또는 ""  현지의 머리글 선     = 논병아리['줄 바꿈']  또는 1  현지의 머리글 텍스트      = 논병아리['사용자 정의 텍스트'] 또는 ""  현지의 행들            = 수에 달하여(논병아리['행']) 또는 0  현지의 rowHeader       = 논병아리['줄타기']   현지의 행 높이       = 논병아리['행 높이']     현지의 오른쪽 여백 = "0인치"  한다면 rowHeader 그리고나서 오른쪽 여백 = "-8인치" 끝.  현지의 헤더 Valign    = "하단"  한다면 rowHeader 그리고나서 헤더 Valign = "중앙" 끝.     템플릿에서 복사했습니다. 중간이어야 합니까?  현지의 줄 바꿈 = ""  한다면 머리글 선 그리고나서   현지의 i=0   하는 동안에 i<수에 달하여(머리글 선) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다    줄 바꿈 = 줄 바꿈 ..  "<br />"    i=i+1   끝.  끝.  --[[ { +'''{{{notal }}''' valign=valign{valign top}}} class="반복할 수 없는" 스타일="우측:{{#if:{{row-filename}}} -8"0"}; 패딩:{{precision-precision 0}}; 텍스트 정렬:{{text-align right}};{{style}}" style=높이:{{high-height}}} Valign={high-valign {{#if: {{row-high }}}}}{{#if: {{row-high }}}}{#if:{{직선}}}{{{\}{#expr:{{public-line}}}-1}<br>}}{{{public-text}}} ]]     현지의 높이 클래스 = "정렬-순위-콜"     한다면 행 높이 그리고. 행 높이 == "대" 그리고나서      높이 클래스 = "정적 순위-콜-라지"     끝.            현지의 산출량 =      '\nclass="..높이 클래스..'"'                                                          --start 정적 순위 테이블     한다면 캡션 그리고나서      산출량 = 산출량  .. "\n+'''" .. 캡션 .. "'''"     끝.     산출량 = 산출량  .. '\nvalign=' .. 발랄한 .. '  '                .. '\nclass="불안정한" 스타일="우측통행:'..오른쪽 여백                                             ..패딩:'..헤더 패딩                                             ..텍스트 정렬:'..텍스트 정렬                                              ..';'.. 스타일.                .. '\nstyle="높이:'..머리글 높이..valign="..헤더 Valign ..';"   '                 ..  줄 바꿈 .. 머리글 텍스트  --[{{#ifexpr:{{rows}}=0 <br /> {{end}}}{{#ifexpr:{{rows}}}>=1 {{정적 열 행 높이={row-height}}}수=1 행 높이={row-height}}}}}}{{#ifexpr:{{rows}}=1 <br /> {{end}}}{{#ifexpr:{{rows}}}>=2 {{정적 열 행 높이={row-height}}}수=2 행 높이={row-height}}}}}}{{#ifexpr:{{rows}}=2 <br /> {{end}}} ]]   현지의 i=0  하는 동안에 i<행들 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다   i=i+1      --output = output ..'\n -\n' ... 문자열(i) -- 단순 비정형 버전       --[<br /> {{#if: {{행 높이}}} 스타일="높이:{{행 높이}}}" }} {{#if}: {{row-down}}}! {{!}}{{number}}} ]]                                                            버전 에뮬레이션 템플릿:정적 열 행           현지의 행 스타일 = ""           한다면 행 높이 그리고나서 행 스타일  = 'style="높이:'..행 높이..';"  ' 끝.           현지의 셀 유형 = " "           한다면 rowHeader 그리고나서 셀 유형 = "!" 끝.           산출량 = 산출량 .. '\n-' .. 행 스타일                            .. '\n' .. 셀 유형 .. 끈으로 묶는(i) .. '<br />'  끝.   산출량 = 산출량 .. '\n}'                                                      정적 순위 테이블을 닫습니다.    산출량 = 산출량 .. '\n'     기본 테이블의 새 셀   --output = output ..'\n}' -- 불필요: 테이블이 {{end}} 템플릿으로 닫힙니다.   돌아가다 p.templateStyle( , "정적 열 begin/styles.css" ) .. 산출량   끝. 테이블 셀을 생성하는 함수(반드시 호출해야 함) 기능. p.세포들( )     현지의  산출량   현지의 나라 = .논병아리[1]  현지의 year0 = .논병아리[2] 또는 ""  현지의 1년차 = .논병아리[3] 또는 "" 만약 (1==1)이면 숫자(year1.gsub(",",",")로 돌아갑니다.  산출량 =  나라 .. " "  .. year0 .. " " .. 1년차 .. " "          섹터 태그를 출력해야 하지만 불가능할 수 있습니다({phab T39256} 참조).     --output = output ..프레임:extensionTag('section', 'value', {begin = "test" })     --output = output ..프레임: 프로세스:<섹션 시작=' .. 국가 ..'_0 />' .. year0 ..'<섹션 끝=' .. 국가 ..'_0 />')     --output = output ..'<섹션 시작=' .. 국가 ..'_1 />' .. year0..'<섹션 끝=' .. 국가 ..'_1 />'     --output = output ..프레임:expandTemplate{title='section/message', 인수={title="test", content="out"} }     --output = output ..프레임:callParserFunction{name = '#tag', args = {'['1'] = "" 섹션", ', 시작 = '일부 텍스트' }}          현지의 쥐다 = :콜 파서 함수{ 이름. = '#lst', 논병아리 = { mw.제목.현재 제목 가져오기().접두사 텍스트,  나라 } }     현지의 결과 = mw.본문.분열되다( 쥐다, "  ", 진실의 )     year0 = 결과[1]     1년차 = 결과[2]     mw.경고 추가 ( 쥐다 )        현지의 바꾸다 = :확장템플릿{ 제목 = '변화', 논병아리 = { year0, 1년차, 디스패치한="아웃" } }  산출량 = 산출량 .. " " .. 바꾸다          --출력 반환     돌아가다 바꾸다 끝. 기능. p.templateStyle( , src )    돌아가다 :확장 태그( '비공식적인 스타일, '', { src = src } ); 끝. 돌아가다 p