Permanently protected module

모듈:표 데이터

Module

현지의 p = {} 현지의 랑그 = mw.콘텐츠 언어 가져오기() 현지의 나비바 = 요구하다("모듈:나브바")  현지의 메시지 = {  ["참"] = "예",  ["거짓"] = "아니오",  무효의 = "해당 없음", }  현지의 bg 색 = {  ["참"] = "#9f9",  ["거짓"] = "#f99",  무효의 = "#ececec", }  현지의 색깔들 = {  무효의 = "#2c2c2c", }  기능. p._세포(논병아리)  현지의 데이터. = 논병아리.데이터. 또는 mw.다음의.데이터..얻다(논병아리[1])  현지의 rowIdx = 수에 달하여(논병아리.출력_행)  현지의 출력 형식 = 논병아리.출력_형식    현지의 출력 열 이름 = {   논병아리.출력_열1 또는 논병아리.출력_열,  }  하는 동안에 논병아리["output_column" .. #출력 열 이름 + 1] 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다   표.삽입(출력 열 이름, 논병아리["output_column" .. #출력 열 이름 + 1])  끝.    현지의 출력 열Idxs = {}  현지의 numOutputColumnIdxs = 0  위해서 i, 들판  짝을 짓다(데이터..스키마.들판) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다   위해서 j, 출력 열 이름  짝을 짓다(출력 열 이름) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다    한다면 들판.이름. == 출력 열 이름 그리고나서     출력 열Idxs[출력 열 이름] = i     numOutputColumnIdxs = numOutputColumnIdxs + 1    끝.   끝.   한다면 numOutputColumnIdxs == #출력 열 이름 그리고나서    브레이크.   끝.  끝.  한다면 numOutputColumnIdxs < #출력 열 이름 그리고나서   위해서 i, 출력 열 이름  짝을 짓다(출력 열 이름) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다    주장하다(출력 열Idxs[출력 열 이름],     mw.ustring.서식을("출력 열 "%s"을(를) 찾을 수 없습니다.", 출력 열 이름))   끝.  끝.    한다면 rowIdx > 0 그리고나서   rowIdx = (rowIdx - 1) % #데이터..데이터. + 1  그렇지 않으면 rowIdx < 0 그리고나서   rowIdx = rowIdx % #데이터..데이터. + 1  또 다른   오류("0은 올바른 행 인덱스가 아닙니다.")  끝.    현지의 기록. = 데이터..데이터.[rowIdx]  한다면 기록. ~= 영의 그리고나서   한다면 출력 형식 또는 numOutputColumnIdxs > 1 그리고나서    현지의 가치 = {}    위해서 i, 열Name  짝을 짓다(출력 열 이름) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다     현지의 열Idx = 출력 열Idxs[열Name]     표.삽입(가치, 기록.[열Idx])    끝.    한다면 출력 형식 그리고나서     돌아가다 mw.ustring.서식을(출력 형식, 짐을 풀다(가치))    또 다른     돌아가다 mw.본문.listToText(가치)    끝.   또 다른    현지의 열Idx = 출력 열Idxs[출력 열 이름[1]]    돌아가다 기록.[열Idx]   끝.  끝. 끝.  지정된 행 인덱스 및 열 이름에서 셀 값을 반환합니다. 행 색인 1은 표의 첫 번째 행을 나타냅니다.행 색인 -1 표의 마지막 행을 나타냅니다.행 인덱스를 지정하는 것은 오류입니다. 0의 사용량: {{#invoke:표 형식 데이터 셀 테이블 이름 output_row = 출력할 행의 인덱스_column = 출력할 열 이름 } 기능. p.감방()  돌아가다 p._세포(.논병아리) 끝.  기능. p._지루한(논병아리)  현지의 데이터. = 논병아리.데이터. 또는 mw.다음의.데이터..얻다(논병아리[1])  현지의 값 검색 = 논병아리.search_value  현지의 검색 패턴 = 논병아리.검색_검색  현지의 열 이름 검색 = 논병아리.검색_열    현지의 열Idx 검색  위해서 i, 들판  짝을 짓다(데이터..스키마.들판) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다   한다면 들판.이름. == 열 이름 검색 그리고나서    열Idx 검색 = i   끝.   한다면 열Idx 검색 그리고나서    브레이크.   끝.  끝.  주장하다(열Idx 검색, mw.ustring.서식을("%s 검색 열을 찾을 수 없습니다.", 열 이름 검색))    현지의 발생 = 수에 달하여(논병아리.발생) 또는 1    현지의 일치하는 레코드 수 = 0  위해서 i = (발생 < 0 그리고. #데이터..데이터. 또는 1),   (발생 < 0 그리고. 1 또는 #데이터..데이터.),   (발생 < 0 그리고. -1 또는 1) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다   현지의 기록. = 데이터..데이터.[i]   한다면 (값 검색 그리고. 기록.[열Idx 검색] == 값 검색) 또는    (검색 패턴 그리고. mw.ustring.경기(끈으로 묶는(기록.[열Idx 검색]), 검색 패턴)) 그리고나서    일치하는 레코드 수 = 일치하는 레코드 수 + 1    한다면 일치하는 레코드 수 == 수학, 수학, 수학 시험답(발생) 그리고나서     현지의 논병아리 = mw.복제의(논병아리)     논병아리.데이터. = 데이터.     논병아리.출력_행 = i     돌아가다 p._세포(논병아리)    끝.   끝.  끝. 끝.  행의 지정된 출력 열에 있는 셀 값을 반환합니다. 검색 키와 열이 일치합니다. 일반적인 스프레드시트 응용프로그램의 LOOKE() 매크로를 연상시킵니다. 검색 키가 정확히 일치해야 합니다. (반면, 이것은 테이블을 정렬할 필요가 없습니다.) 사용량: {{#invoke:표 형식 데이터 조회 테이블 이름 search_value = 열 검색에서 찾을 값 = 열 검색에서 찾을 패턴 = 발생 시 검색할 열 이름 = 출력할 열에 일치하는 행의 1 기반 인덱스 = 출력할 열 이름_column2 = 출력할 다른 열 이름 …output_format = } 단위의 값을 출력하는 문자열 형식 기능. p.찾다()  돌아가다 p._지루한(.논병아리) 끝.  기능. p._예측할 수 없는(논병아리)  현지의 페이지Name = 논병아리[1]  현지의 데이터. = mw.다음의.데이터..얻다(페이지Name)    현지의 자료형 = {}    현지의 html 테이블 = mw.html.만들다("테이블")   :addClass("선택 가능한 정렬 가능")  html 테이블   :꼬리표를 달다("스캐너덜너덜)   :위키텍스트(나비바.나비바({    템플릿 = ":c:데이터:" .. 페이지Name,    미니의 = "y",    스타일. = "예: 맞아요;",    "보기", "편집",   }))   :위키텍스트(데이터..묘사)    현지의 머리글 행 = html 테이블   :꼬리표를 달다("tr")  위해서 i, 들판  짝을 짓다(데이터..스키마.들판) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다   머리글 행    :꼬리표를 달다("th")    :매력적인("범위", "col")    :매력적인("데이터베이스 유형", 자료형[j] == "텍스트" 그리고. "문자열" 또는 자료형[j])    :위키텍스트(들판.제목)   자료형[i] = 들판.유형  끝.    위해서 i, 기록.  짝을 짓다(데이터..데이터.) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다   현지의 배를 젓다 = html 테이블:꼬리표를 달다("tr")   위해서 j = 1, #데이터..스키마.들판 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다    현지의 감방 = 배를 젓다:꼬리표를 달다("스캐너덜너덜)    한다면 기록.[j] 그리고나서     현지의 포맷된 데이터 = 기록.[j]     한다면 자료형[j] == "숫자" 그리고나서      포맷된 데이터 = 랑그:formatNum(포맷된 데이터)      감방:매력적인("정렬", "옳음")     그렇지 않으면 자료형[j] == "스캐너덜너덜 그리고나서      감방       :addClass(기록.[j] 그리고. "테이블-예" 또는 "table-no")       :CSS({        배경 = 기록.[j] 그리고. bg 색["참"] 또는 bg 색["거짓"],        색. = 기록.[j] 그리고. 색깔들["참"] 또는 색깔들["거짓"],        ["병렬 정렬"] = "중간",        ["텍스트 정렬"] = "중앙",       })       :위키텍스트(기록.[j] 그리고. 메시지["참"] 또는 메시지["거짓"])     끝.     감방:위키텍스트(포맷된 데이터)    또 다른     감방      :addClass("mw-table-value-value-value")      :addClass("table-na")      :CSS({       배경 = bg 색.무효의,       색. = 색깔들.무효의,       ["병렬 정렬"] = "중간",       ["텍스트 정렬"] = "중앙",      })      :위키텍스트(메시지.무효의)    끝.   끝.  끝.    현지의 바닥글 = html 테이블   :꼬리표를 달다("tr")   :꼬리표를 달다("스캐너덜너덜)   :addClass("아래쪽으로 이동)   :매력적인("colspan", #데이터..스키마.들판)  바닥글:위키텍스트(데이터..원천)  바닥글:꼬리표를 달다("br")    현지의 라이센스 텍스트 = mw.메세지.신규("Jsonconfig-license",   mw.ustring.서식을("[%s %s]", 데이터..면허증..URL, 데이터..면허증..본문))  바닥글   :꼬리표를 달다("i")   :위키텍스트(끈으로 묶는(라이센스 텍스트))    돌아가다 html 테이블 끝.  표 형식의 데이터 페이지를 위키 텍스트 테이블로 반환합니다. 사용량: {{#invoke:표 형식 데이터 위키 가능한 테이블 이름}} 기능. p.위키가 가능한()  돌아가다 p._예측할 수 없는(.논병아리) 끝.  돌아가다 p