모듈:본문
Module| 이 Lua 모듈은 전체 페이지의 약 3%인 약 1,560,000 페이지에서 사용됩니다. 큰 중단과 서버 로드를 방지하려면 모듈의 /sandbox 또는 /testcase 하위 페이지 또는 자체 모듈 샌드박스에서 변경 사항을 테스트해야 합니다.테스트된 변경 사항은 한 번의 편집으로 이 페이지에 추가할 수 있습니다.변경사항을 구현하기 전에 대화 페이지에서 변경사항에 대해 논의하는 것을 고려합니다. |
Text 텍스트 조작 방법, 위키마크업 및 일부 HTML을 포함하는 모듈.
템플릿 기능
모든 메서드에는 텍스트가 포함된 이름 없는 매개 변수가 있습니다.
매개 변수가 조건을 충족하지 않는 경우 반환 값은 빈 문자열입니다.조건이 일치하거나 일부 결과가 성공적으로 발견되면 적어도 한 문자의 문자열이 반환됩니다.
- 챠
- 문자 코드 목록에서 문자열을 만듭니다.
- 1
- 공백으로 구분된 문자 코드 목록
- *
- 매개 변수 1에 있는 목록의 반복 횟수(기본값 1)
- 오류들
0무음 오류
- concat Params
- 목록에 임의의 수의 요소를 결합합니다.
table.concat()루아에서 - 템플릿에서:
- 1
- 첫 번째 요소. 누락되거나 비어 있는 요소는 무시됩니다.
- 2 3 4 5 6 …
- 추가 목록 요소
- 루아에서
- 논병아리
- 원소표
- 적용합니다.
- 요소 간 구분 기호, 기본값:
- 적응하다
- 각 요소에 적용되는 선택적 형식. 다음을 포함해야 합니다.
%s.
- CJK 포함
- 입력 문자열에 CJK 문자가 포함되어 있는지 여부를 반환합니다.
- CJK 문자가 없으면 아무것도 반환하지 않습니다.
- 제거(Delimited)
- 구분 기호 자체를 포함하여 구분 기호 사이의 모든 텍스트를 제거합니다.
- 플레인 가져오기
- 위키마크업 제거(템플릿 제외): 주석, 태그, 굵게, 기울임꼴, nbsp
- isLatinRange
- 문자열에 일반적으로 라틴어 텍스트에서 찾을 수 없는 문자가 포함되어 있지 않은 경우 일부 내용을 반환합니다.
- 라틴어가 아닌 문자열이 있으면 아무것도 반환하지 않습니다.
- is 인용문
- 전달된 매개 변수가 단일 문자이고 해당 문자가 따옴표인 경우 일부 내용을 반환합니다.
'.- 여러 문자에 대해 아무것도 반환하지 않거나 전달된 문자가 따옴표가 아닌 경우.
- listToText
- mw.text.listToText()와 유사하게 요소를 나열합니다.
- 요소는 쉼표와 공백으로 구분되며 "and"라는 단어는 첫 번째와 마지막 사이에 나타납니다.
- 이름 없는 매개 변수가 목록 항목이 됩니다.
- 선택적 매개 변수:
#invoke:format모든 목록 요소는 먼저 이 형식 문자열로 형식이 지정됩니다. 이 문자열을 구성하는 방법은 여기를 참조하십시오.문자열에 하나 이상이 포함되어야 합니다.%s순서.template=1호출 템플릿에서 목록 요소를 가져와야 합니다.
- 결과 문자열을 반환합니다.
- 인용문
- 문자열을 따옴표로 묶습니다. 특정 언어에 대해 따옴표를 선택할 수 있습니다.
- 따옴표 미포함
- 문자열을 따옴표로 묶습니다. 특정 언어에 대해 따옴표를 선택할 수 있습니다.빈 문자열을 따옴표로 묶지 않으며, (잘린) 문자열의 시작 또는 끝에 따옴표가 있으면 따옴표로 묶지 않습니다.
- 분음 부호 제거
- 입력에서 모든 분음 부호를 제거합니다.
- 1
- 입력 텍스트
- 문장종료
- 이 문장은 종결되었습니까?CJK와 협력해야 하며, 따옴표가 뒤에 올 수 있도록 합니다.
- 문장이 종료되지 않은 경우 아무것도 반환하지 않습니다.
- ucfirstAll
- 인식된 모든 단어의 첫 글자는 대문자로 변환됩니다.이는 파서 함수 {ucfirst:전달된 전체 문자열의 첫 번째 문자만 변경합니다.
- 몇 가지 일반적인 HTML 엔티티가 보호됩니다. 이 구현은 숫자 엔티티가 통과되었음을 의미할 수 있습니다(예:
&)로 변환됩니다.&형태 - 직립 논라틴어
- 문자열을 사용합니다.이탤릭체로 표시된 비라틴 문자는 단일 그리스 문자가 아닌 한 이탤릭체로 표시되지 않습니다.
- 지퍼를 잠그다
- 목록의 튜플을 컨볼루션별로 결합합니다.이것은 예를 들어 설명하기 가장 쉽습니다: list1 = "a b c"와 list2 = "1 2 3" 두 개의 목록이 주어지면,
zip(liste1, liste2, sep = " ", isep = "-", osep = "/")
산출물a-1/b-2/c-3- 1, 2, 3, … – 결합할 목록
sep목록을 분할하는 데 사용되는 구분 기호(Luaregex 형식)입니다.비어 있으면 목록이 개별 문자로 분할됩니다.sep1,sep2,sep3… – 각 목록에 대해 다른 구분 기호를 사용할 수 있습니다.isep출력 구분 기호. 목록에서 동일한 인덱스에 있는 요소 사이에 배치됩니다.osep출력 구분 기호: 원래 인덱스가 서로 다른 요소 사이에 배치됩니다. 즉, 결합된 그룹 사이에 배치됩니다.isep
예제 및 테스트 페이지
실제로 이를 설명하기 위해 독일어로 된 테스트가 있습니다.
다른 Lua 모듈에서 사용
위의 모든 기능은 다른 Lua 모듈에서 호출할 수 있습니다. 사용require()아래 코드는 로드 오류를 확인합니다.
현지의 운이 좋은, 본문 = pcall( 요구하다, "모듈: 텍스트" ) 한다면 유형( 본문 ) == "테이블" 그리고나서 본문 = 본문.본문() 또 다른 오류가 발생할 경우 텍스트는 오류 메시지입니다. 돌아가다 "<span class=\"오류\">" .. 본문 .. "</span>" 끝. 그런 다음 다음에 전화할 수 있습니다.
- Text.char(적용, 다시, 수락)
- Text.concatParams(인수, 구분자, 형식)
- Text.containsCJK(s)
- Text.removeDelimited(s)
- Text.getPlain(s)
- Text.isLatinRange(s)
- Text.is 따옴표( c )
- Text.listToText(테이블, 형식)
- Text.quote(s, lang, mode)
- Text.quoteUnquote(s, lang, mode)
- Text.remove 분음 기호( s )
- Text.s 문장종료됨
- Text.ucfirstAll(s)
- Text.upright비라틴어
Text.zip(…)- Text.test(s)
사용.
이것은 일반 도서관입니다. 아무 곳에서나 사용하세요.
종속성
없음.
참고 항목
현지의 예 아니오 = 요구하다("모듈:"예스노") 현지의 본문 = { 연재의 = "2022-07-21", 스위트룸 = "텍스트" } --[=[ 텍스트 유틸리티 ]=] 지역 지구 현지의 패턴CJK = 거짓의 현지의 결합된 패턴 = 거짓의 현지의 패턴 라틴어 = 거짓의 현지의 종료된 패턴 = 거짓의 현지의 따옴표 랭 = 거짓의 현지의 견적 유형 = 거짓의 현지의 범위 라틴어 = 거짓의 현지의 견적서 찾기 = 거짓의 현지의 기능. initLatinData() 한다면 것은 아니다. 범위 라틴어 그리고나서 범위 라틴어 = { { 7, 687 }, { 7531, 7578 }, { 7680, 7935 }, { 8194, 8250 } } 끝. 한다면 것은 아니다. 패턴 라틴어 그리고나서 현지의 범위 패턴 라틴어 = "^[" 위해서 i = 1, #범위 라틴어 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 범위 = 범위 라틴어[ i ] 패턴 라틴어 = 패턴 라틴어 .. mw.ustring.챠( 범위[ 1 ], 45, 범위[ 2 ] ) 끝. 나를 위하여 패턴 라틴어 = 패턴 라틴어 .. "]*$" 끝. 끝. 현지의 기능. init견적 데이터() 따옴표 정의 만들기 한다면 것은 아니다. 따옴표 랭 그리고나서 따옴표 랭 = { af = "bd", 아 = "라", 있다 = "labd", bg = "bd", 카 = "라", cs = "bd", 다 = "bd", 데 = "bd", dsb = "bd", et = "bd", 엘 = "알드", 엔 = "ld", es = "라", eu = "라", fa = "la", fi = "rd", 프루 = "lasSPC", 가 = "ld", 그 = "ldla", hr = "bd", hsb = "bd", 후 = "bd", 히 = "labd", 이드 = "rd", 이라 = "bd", 그것 = "ld", 네. = "x300C", 카 = "bd", 코 = "ld", lt = "bd", lv = "bd", nl = "ld", nn = "라", 아니요. = "라", 플 = "bdla", pt의 = "알드", 로 = "bdla", 루 = "labd", sk = "bd", 슬 = "bd", 제곱 = "라", sr = "bx", sv = "rd", th의 = "ld", tr = "ld", 우크 = "라", zh = "ld", ["디-치"] = "라", ["엔-gb"] = "lsld", ["엔-어스"] = "ld", ["fr-ch"] = "라", ["잇-치"] = "라", ["pt-br"] = "ldla", ["zh-tw"] = "x300C", ["zh-cn"] = "ld" } 끝. 한다면 것은 아니다. 견적 유형 그리고나서 견적 유형 = { bd = { { 8222, 8220 }, { 8218, 8217 } }, bdla = { { 8222, 8220 }, { 171, 187 } }, bx = { { 8222, 8221 }, { 8218, 8217 } }, 라 = { { 171, 187 }, { 8249, 8250 } }, laSPC = { { 171, 187 }, { 8249, 8250 }, 진실의 }, 실험실 = { { 171, 187 }, { 8222, 8220 } }, 라드의 = { { 171, 187 }, { 8220, 8221 } }, ld = { { 8220, 8221 }, { 8216, 8217 } }, ldla = { { 8220, 8221 }, { 171, 187 } }, 이즐드 = { { 8216, 8217 }, { 8220, 8221 } }, rd = { { 8221, 8221 }, { 8217, 8217 } }, x300C = { { 0x300C, 0x300D }, { 0x300E, 0x300F } } } 끝. 끝. initQuoteData() 현지의 기능. 피아트 견적서( 적용합니다., 외계의, 발전 ) 따옴표 텍스트 매개 변수: 적용 - 문자열, 텍스트 포함 외계인 -- 문자열, 언어 코드 포함 advance - 레벨 1 또는 2의 숫자 현지의 r = 적용합니다. 그리고. 끈으로 묶는(적용합니다.) 또는 "" 외계의 = 외계의 또는 "en" 발전 = 수에 달하여(발전) 또는 0 현지의 스위트룸 init견적 데이터() 현지의 속어. = 외계의:경기( "^(%l+)-" ) 스위트룸 = 따옴표 랭[외계의] 또는 속어. 그리고. 따옴표 랭[속어.] 또는 따옴표 랭["en"] 한다면 스위트룸 그리고나서 현지의 인용문 = 견적 유형[ 스위트룸 ] 한다면 인용문 그리고나서 현지의 공간 한다면 인용문[ 3 ] 그리고나서 공간 = " " 또 다른 공간 = "" 끝. 인용문 = 인용문[ 발전 ] 한다면 인용문 그리고나서 r = mw.ustring.서식을( %s%s%s%s%s", mw.ustring.챠( 인용문[ 1 ] ), 공간, 적용합니다., 공간, mw.ustring.챠( 인용문[ 2 ] ) ) 끝. 또 다른 mw.로그.( "fiat Quote()" .. 스위트룸 ) 끝. 끝. 돌아가다 r 끝. 피아트 인용문() 본문.챠 = 기능. ( 적용합니다., 다시., 수락 ) 코드 포인트에서 문자열 만들기 매개 변수: apply -- 숫자 코드 포인트가 있는 테이블(시퀀스) 또는 nil 다시 - 반복 횟수 또는 0 accept --true(추가할 오류 메시지가 없는 경우) 반환: 문자열 현지의 r = "" 적용합니다. = 유형(적용합니다.) == "테이블" 그리고. 적용합니다. 또는 {} 다시. = 수학.플로어(수에 달하여(다시.) 또는 1) 한다면 다시. < 1 그리고나서 돌아가다 "" 끝. 현지의 나빠 = { } 현지의 법전 = { } 위해서 _, v 에 짝을 짓다( 적용합니다. ) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 현지의 n = 수에 달하여(v) 한다면 것은 아니다. n 또는 (n < 32 그리고. n ~= 9 그리고. n ~= 10) 그리고나서 표.삽입(나빠, 끈으로 묶는(v)) 또 다른 표.삽입(법전, 수학.플로어(n)) 끝. 끝. 한다면 #나빠 > 0 그리고나서 한다면 것은 아니다. 수락 그리고나서 r = 끈으로 묶는( mw.html.만들다( "스판" ) :addClass( "오류" ) :위키텍스트( "잘못된 코드 포인트: " .. 테이블.콘캣( 나빠, " " )) ) 끝. 돌아가다 r 끝. 한다면 #법전 > 0 그리고나서 r = mw.ustring.챠( 짐을 풀다( 법전 ) ) 한다면 다시. > 1 그리고나서 r = r:대리인(다시.) 끝. 끝. 돌아가다 r 끝. Text.char() 현지의 기능. 트리밍 및 포맷(논병아리, fmt) 현지의 결과 = {} 한다면 유형(논병아리) ~= '탁자' 그리고나서 논병아리 = {논병아리} 끝. 위해서 _, v 에 짝을 짓다(논병아리) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 v = mw.본문.다듬다(끈으로 묶는(v)) 한다면 v ~= "" 그리고나서 표.삽입(결과,fmt 그리고. mw.ustring.서식을(fmt, v) 또는 v) 끝. 끝. 돌아가다 결과 끝. 본문.concat Params = 기능. ( 논병아리, 적용합니다., 적응하다 ) 목록 항목을 하나의 문자열로 묶습니다. 매개 변수: args -- numKey= 문자열이 있는 테이블(시퀀스) 적용 -- 문자열(선택사항), 구분자(기본값: " ") adapt -- 문자열(선택 사항), "%s"를 포함한 형식 반환: 문자열 현지의 모으다 = { } 돌아가다 테이블.콘캣(트리밍 및 포맷(논병아리,적응하다), 적용합니다. 또는 " ") 끝. Text.concatParams() 본문.CJK 포함 = 기능. ( s ) 안에 CJK 코드가 있습니까? 매개 변수: s -- 문자열 반환: true, CJK가 탐지된 경우 s = s 그리고. 끈으로 묶는(s) 또는 "" 한다면 것은 아니다. 패턴CJK 그리고나서 패턴CJK = mw.ustring.챠( 91, 4352, 45, 4607, 11904, 45, 42191, 43072, 45, 43135, 44032, 45, 55215, 63744, 45, 64255, 65072, 45, 65103, 65381, 45, 65500, 131072, 45, 196607, 93 ) 끝. 돌아가다 mw.ustring.찾아내다( s, 패턴CJK ) ~= 영의 끝. Text.containsCJK() 본문.제거(Delimited) = 기능. (s, 접두어, 접미사) 접두사와 접미사로 구분된 모든 텍스트 제거(포함) 인수: s = 처리할 문자열 접두사 = 초기 구분 기호 접미사 = 끝 구분 기호 반환: 제거된 문자열 s = s 그리고. 끈으로 묶는(s) 또는 "" 접두어 = 접두어 그리고. 끈으로 묶는(접두어) 또는 "" 접미사 = 접미사 그리고. 끈으로 묶는(접미사) 또는 "" 현지의 접두사 Len = mw.ustring.렌(접두어) 현지의 접미사Len = mw.ustring.렌(접미사) 한다면 접두사 Len == 0 또는 접미사Len == 0 그리고나서 돌아가다 s 끝. 현지의 i = s:찾아내다(접두어, 1, 진실의) 현지의 r = s 현지의 j 하는 동안에 i 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 j = r:찾아내다(접미사, i + 접두사 Len) 한다면 j 그리고나서 r = r:후보선수(1, i - 1)..r:후보선수(j+접미사Len) 또 다른 r = r:후보선수(1, i - 1) 끝. i = r:찾아내다(접두어, 1, 진실의) 끝. 돌아가다 r 끝. 본문.플레인 가져오기 = 기능. ( 조정한다. ) 템플릿을 제외한 문자열에서 Wiki 구문 제거 매개 변수: 조정 -- 문자열 반환: 문자열 현지의 r = 본문.제거(Delimited)(조정한다.,"<!--","-->") r = r:gsub( "(</?%l[^>*>)", "" ) :gsub( "'''", "" ) :gsub( "''", "" ) :gsub( "", " " ) 돌아가다 r 끝. Text.getPlain() 본문.isLatinRange = 기능. (s) 문자는 라틴 문자 또는 라틴 문자 내의 기호로 예상됩니까? 인수: s = 분석할 문자열 반환: true, 라틴어에만 유효한 경우 s = s 그리고. 끈으로 묶는(s) 또는 "" 입력이 항상 문자열인지 확인 initLatinData() 돌아가다 mw.ustring.경기(s, 패턴 라틴어) ~= 영의 끝. Text.isLatinRange() 본문.is 인용문 = 기능. ( s ) 이 글자는 따옴표입니까? 매개 변수: s = 분석할 단일 문자 반환: true, s가 따옴표인 경우 s = s 그리고. 끈으로 묶는(s) 또는 "" 한다면 s == "" 그리고나서 돌아가다 거짓의 끝. 한다면 것은 아니다. 견적서 찾기 그리고나서 견적서 찾기 = mw.ustring.챠( 34, -- " 39, -- ' 171, 라쿠오 187, 라쿠오 8216, 이스코 8217, rsquo 8218, sbquo 8220, ldquo 8221, rdquo 8222, bdquo 8249, 라쿠오 8250, rsaquo 0x300C, CJK 0x300D, CJK 0x300E, CJK 0x300F ) CJK 끝. 돌아가다 mw.ustring.찾아내다( 견적서 찾기, s, 1, 진실의 ) ~= 영의 끝. Text.is 따옴표() 본문.listToText = 기능. ( 논병아리, 적응하다 ) mw.text.listToText()와 유사한 목록 항목 형식 지정 매개 변수: args -- numKey= 문자열이 있는 테이블(시퀀스) adapt -- 문자열(선택 사항), "%s"를 포함한 형식 반환: 문자열 돌아가다 mw.본문.listToText(트리밍 및 포맷(논병아리, 적응하다)) 끝. Text.listToText() 본문.인용문 = 기능. ( 적용합니다., 외계의, 발전 ) 따옴표 텍스트 매개 변수: 적용 - 문자열, 텍스트 포함 외계인 - 문자열, 언어 코드 또는 nil advance - 레벨 1 또는 2 또는 0인 숫자 반환: 따옴표로 묶인 문자열 적용합니다. = 적용합니다. 그리고. 끈으로 묶는(적용합니다.) 또는 "" 현지의 모드, 속어. 한다면 유형( 외계의 ) == "문자열" 그리고나서 속어. = mw.본문.다듬다( 외계의 ):더 낮게() 또 다른 속어. = mw.제목.현재 제목 가져오기().pageLanguage 한다면 것은 아니다. 속어. 그리고나서 TODO FIXME: 2017-04년 도입 예정. 속어. = mw.언어.콘텐츠 언어 가져오기():코드 가져오기() 끝. 끝. 한다면 발전 == 2 그리고나서 모드 = 2 또 다른 모드 = 1 끝. 돌아가다 피아트 견적서( mw.본문.다듬다( 적용합니다. ), 속어., 모드 ) 끝. Text.quote() 본문.따옴표 미포함 = 기능. ( 적용합니다., 외계의, 발전 ) 따옴표 텍스트(아직 따옴표로 묶이지 않고 비어 있지 않은 경우) 매개 변수: 적용 - 문자열, 텍스트 포함 외계인 - 문자열, 언어 코드 또는 nil advance - 레벨 1 또는 2 또는 0인 숫자 반환: 문자열. 따옴표로 묶일 수 있음 현지의 r = mw.본문.다듬다( 적용합니다. 그리고. 끈으로 묶는(적용합니다.) 또는 "" ) 현지의 s = mw.ustring.후보선수( r, 1, 1 ) 한다면 s ~= "" 그리고. 것은 아니다. 본문.is 인용문( s, 발전 ) 그리고나서 s = mw.ustring.후보선수( r, -1, 1 ) 한다면 것은 아니다. 본문.is 인용문( s ) 그리고나서 r = 본문.인용문( r, 외계의, 발전 ) 끝. 끝. 돌아가다 r 끝. Text.quoteUncommitted() 본문.분음 부호 제거 = 기능. ( 조정한다. ) 모든 분음 부호 제거 매개 변수: 조정 -- 문자열 반환: 문자열. 모든 라틴 문자는 ASCII여야 합니다. 또는 기본적인 그리스어, 키릴 문자 또는 기호 등. 현지의 정리하다, 부패한 한다면 것은 아니다. 결합된 패턴 그리고나서 결합된 패턴 = mw.ustring.챠( 91, 0x0300, 45, 0x036F, 0x1AB0, 45, 0x1AFF, 0x1DC0, 45, 0x1DFF, 0xFE20, 45, 0xFE2F, 93 ) 끝. 부패한 = mw.ustring.NFD로( 조정한다. 그리고. 끈으로 묶는(조정한다.) 또는 "" ) 정리하다 = mw.ustring.gsub( 부패한, 결합된 패턴, "" ) 돌아가다 mw.ustring.NFC로( 정리하다 ) 끝. Text.remove 분음 부호() 본문.문장종료 = 기능. ( 분석하다 ) 문자열이 점, 물음표 또는 느낌표로 끝납니까? 견적, 링크 종료 등 부여 매개 변수: -- 문자열을 분석 반환: true, 문장이 종료된 경우 현지의 r 한다면 것은 아니다. 종료된 패턴 그리고나서 종료된 패턴 = mw.ustring.챠( 91, 12290, 65281, 65294, 65311 ) .. "!%.%?…][\"'%]‹›«»‘’“”]*$" 끝. 한다면 mw.ustring.찾아내다( 분석하다, 종료된 패턴 ) 그리고나서 r = 진실의 또 다른 r = 거짓의 끝. 돌아가다 r 끝. Text.sentenceTerminated() 본문.ucfirstAll = 기능. ( 조정한다.) 모든 단어 대문자화 인수: 조정할 = 문자열 반환: 모든 첫 번째 문자가 대문자인 문자열 조정한다. = 조정한다. 그리고. 끈으로 묶는(조정한다.) 또는 "" 현지의 r = mw.본문.암호를 해독하다(조정한다.,진실의) 현지의 i = 1 현지의 c, j, m m = (r ~= 조정한다.) r = " "..r 하는 동안에 i 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 i = mw.ustring.찾아내다( r, %W%l, i ) 한다면 i 그리고나서 j = i + 1 c = mw.ustring.위쪽의( mw.ustring.후보선수( r, j, j ) ) r = string.형식( %s%s%s", mw.ustring.후보선수( r, 1, i ), c, mw.ustring.후보선수( r, i + 2 ) ) i = j 끝. 끝. 내가 있는 동안에 r = r:후보선수( 2 ) 한다면 m 그리고나서 r = mw.본문.부호화(r) 끝. 돌아가다 r 끝. Text.ucfirstAll() 본문.직립 논라틴어 = 기능. ( 조정한다. ) 라틴어가 아닌 텍스트 부분에 대해 기울임꼴이 아님을 확인합니다. 하나의 그리스 문자가 허용될 수 있습니다. 전제 조건: 조정 -- 문자열 반환: 라틴어가 아닌 부분이 포함된 문자열을 <span>으로 묶습니다. 현지의 r initLatinData() 한다면 mw.ustring.경기( 조정한다., 패턴 라틴어 ) 그리고나서 라틴어만, 수평 대시, 따옴표 r = 조정한다. 또 다른 현지의 c 현지의 j = 거짓의 현지의 k = 1 현지의 m = 거짓의 현지의 n = mw.ustring.렌( 조정한다. ) 현지의 기간 = "%s%s <span dir='auto' style='filename-style:normal'>%s </span>" 현지의 평평한 = 기능. ( a ) 라틴어입니다. 현지의 범위 위해서 i = 1, #범위 라틴어 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 범위 = 범위 라틴어[ i ] 한다면 a >= 범위[ 1 ] 그리고. a <= 범위[ 2 ] 그리고나서 돌아가다 진실의 끝. 끝. 나를 위하여 끝. 납작한 빵 현지의 초점 = 기능. ( a ) char는 양의 값이 아닙니다. 현지의 r = ( a > 64 ) 한다면 r 그리고나서 r = ( a < 8192 또는 a > 8212 ) 또 다른 r = ( a == 38 또는 a == 60 ) -- '&' '<' 끝. 돌아가다 r 끝. 초점을 맞추다 현지의 형태 = 기능. ( a ) 돌아가다 string.형식( 기간, r, mw.ustring.후보선수( 조정한다., k, j - 1 ), mw.ustring.후보선수( 조정한다., j, a ) ) 끝. 형식을 갖추다 r = "" 위해서 i = 1, n 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 c = mw.ustring.코드 포인트( 조정한다., i, i ) 한다면 초점( c ) 그리고나서 한다면 평평한( c ) 그리고나서 한다면 j 그리고나서 한다면 m 그리고나서 한다면 i == m 그리고나서 그리스 문자 한 자모 j = 거짓의 끝. m = 거짓의 끝. 한다면 j 그리고나서 현지의 nx = i - 1 현지의 s = "" 위해서 ix = nx, 1, -1 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 c = mw.ustring.후보선수( 조정한다., ix, ix ) 한다면 c == " " 또는 c == "(" 그리고나서 nx = nx - 1 s = c .. s 또 다른 브레이크. 9시까지 끝. 끝. 9시까지 r = 형태( nx ) .. s j = 거짓의 k = i 끝. 끝. 그렇지 않으면 것은 아니다. j 그리고나서 j = i 한다면 c >= 880 그리고. c <= 1023 그리고나서 그리스 문자 하나? m = i + 1 또 다른 m = 거짓의 끝. 끝. 그렇지 않으면 m 그리고나서 m = m + 1 끝. 끝. 나를 위하여 한다면 j 그리고. ( 것은 아니다. m 또는 m < n ) 그리고나서 r = 형태( n ) 또 다른 r = r .. mw.ustring.후보선수( 조정한다., k ) 끝. 끝. 돌아가다 r 끝. Text.uprightNon라틴() 본문.시험 = 기능. ( 대해서 ) 현지의 r 한다면 대해서 == "스캐너덜너덜 그리고나서 init견적 데이터() r = { } r.따옴표 랭 = 따옴표 랭 r.견적 유형 = 견적 유형 끝. 돌아가다 r 끝. Text.test() 내보내기 현지의 p = { } 위해서 _, 펑크 에 짝을 짓다({'어쨌든'CJK','라틴어 범위','따옴표입니다.','문장 종료됨'}) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 p[펑크] = 기능. (틀) 돌아가다 본문[펑크]( 틀.논병아리[ 1 ] 또는 "" ) 그리고. "1" 또는 "" 끝. 끝. 위해서 _, 펑크 에 짝을 짓다({'일반 가져오기','분음표 제거','ucfirstAll','정직한 비라틴어'}) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 p[펑크] = 기능. (틀) 돌아가다 본문[펑크]( 틀.논병아리[ 1 ] 또는 "" ) 끝. 끝. 기능. p.챠( 틀 ) 현지의 유모차 = 틀:상위 항목 가져오기().논병아리 현지의 이야기 = 유모차[ 1 ] 현지의 법전, 관대한, 다중의 한다면 것은 아니다. 이야기 그리고나서 유모차 = 틀.논병아리 이야기 = 유모차[ 1 ] 끝. 한다면 이야기 그리고나서 현지의 항목들 = mw.본문.분열되다( mw.본문.다듬다(이야기), %s+" ) 한다면 #항목들 > 0 그리고나서 현지의 j 관대한 = (예 아니오(유모차.오류들) == 거짓의) 법전 = { } 다중의 = 수에 달하여( 유모차[ "*" ] ) 위해서 _, v 에 짝을 짓다( 항목들 ) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 j = 수에 달하여((v:후보선수( 1, 1 ) == "x" 그리고. "0" 또는 "") .. v) 표.삽입( 법전, j 또는 v ) 끝. 끝. 끝. 돌아가다 본문.챠( 법전, 다중의, 관대한 ) 끝. 기능. p.concat Params( 틀 ) 현지의 논병아리 현지의 템플릿 = 틀.논병아리.템플릿 한다면 유형( 템플릿 ) == "문자열" 그리고나서 템플릿 = mw.본문.다듬다( 템플릿 ) 템플릿 = ( 템플릿 == "1" ) 끝. 한다면 템플릿 그리고나서 논병아리 = 틀:상위 항목 가져오기().논병아리 또 다른 논병아리 = 틀.논병아리 끝. 돌아가다 본문.concat Params( 논병아리, 틀.논병아리.구분자, 틀.논병아리.서식을 ) 끝. 기능. p.목록 형식 지정(틀) 현지의 리스트 = {} 현지의 p형식 = 틀.논병아리["형식"] 현지의 셉 = 틀.논병아리["스캐너덜너덜] 또는 ";" 매개 변수 파슨: 수신 위해서 k, v 에 쌍들(틀.논병아리) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 현지의 둔한 사람 = 수에 달하여(k) 한다면 둔한 사람 그리고나서 리스트[둔한 사람] = v 끝. 끝. 분할 듣기 현지의 maxListLen = 0 위해서 i = 1, #리스트 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 리스트[i] = mw.본문.분열되다(리스트[i], 셉) 한다면 #리스트[i] > maxListLen 그리고나서 maxListLen = #리스트[i] 끝. 끝. 에르제브니스 스트링 제너럴 현지의 결과 = "" 현지의 result_line = "" 위해서 i = 1, maxListLen 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 result_line = p형식 위해서 j = 1, #리스트 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 result_line = mw.ustring.gsub(result_line, %%s", 리스트[j][i], 1) 끝. 결과 = 결과 .. result_line 끝. 돌아가다 결과 끝. 기능. p.listToText( 틀 ) 현지의 논병아리 현지의 템플릿 = 틀.논병아리.템플릿 한다면 유형( 템플릿 ) == "문자열" 그리고나서 템플릿 = mw.본문.다듬다( 템플릿 ) 템플릿 = ( 템플릿 == "1" ) 끝. 한다면 템플릿 그리고나서 논병아리 = 틀:상위 항목 가져오기().논병아리 또 다른 논병아리 = 틀.논병아리 끝. 돌아가다 본문.listToText( 논병아리, 틀.논병아리.서식을 ) 끝. 기능. p.인용문( 틀 ) 현지의 속어. = 틀.논병아리[2] 한다면 유형( 속어. ) == "문자열" 그리고나서 속어. = mw.본문.다듬다( 속어. ) 한다면 속어. == "" 그리고나서 속어. = 거짓의 끝. 끝. 돌아가다 본문.인용문( 틀.논병아리[ 1 ] 또는 "", 속어., 수에 달하여( 틀.논병아리[3] ) ) 끝. 기능. p.따옴표 미포함( 틀 ) 현지의 속어. = 틀.논병아리[2] 한다면 유형( 속어. ) == "문자열" 그리고나서 속어. = mw.본문.다듬다( 속어. ) 한다면 속어. == "" 그리고나서 속어. = 거짓의 끝. 끝. 돌아가다 본문.따옴표 미포함( 틀.논병아리[ 1 ] 또는 "", 속어., 수에 달하여( 틀.논병아리[3] ) ) 끝. 기능. p.지퍼(틀) 현지의 리스트 = {} 현지의 패혈증 = {} 현지의 채무 불이행 = 틀.논병아리["스캐너덜너덜] 또는 "" 현지의 내면의 깊은 곳 = 틀.논병아리["isep"] 또는 "" 현지의 바깥쪽의 = 틀.논병아리["osep"] 또는 "" 매개 변수 구문 분석 위해서 k, v 에 쌍들(틀.논병아리) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 현지의 둔한 사람 = 수에 달하여(k) 한다면 둔한 사람 그리고나서 리스트[둔한 사람] = v 또 다른 한다면 string.sub(k, 1, 3) == "스캐너덜너덜 그리고나서 현지의 세프넘 = 수에 달하여(string.sub(k, 4)) 한다면 세프넘 그리고나서 패혈증[세프넘] = v 끝. 끝. 끝. 끝. 소퍼 케인 익스프리젠 분리막 rangeben 신드, 덴 표준 분리막 verwenden 위해서 i = 1, 수학.max(#패혈증, #리스트) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 한다면 것은 아니다. 패혈증[i] 그리고나서 패혈증[i] = 채무 불이행 끝. 끝. 분할 듣기 현지의 maxListLen = 0 위해서 i = 1, #리스트 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 리스트[i] = mw.본문.분열되다(리스트[i], 패혈증[i]) 한다면 #리스트[i] > maxListLen 그리고나서 maxListLen = #리스트[i] 끝. 끝. 현지의 결과 = "" 위해서 i = 1, maxListLen 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 한다면 i ~= 1 그리고나서 결과 = 결과 .. 바깥쪽의 끝. 위해서 j = 1, #리스트 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 한다면 j ~= 1 그리고나서 결과 = 결과 .. 내면의 깊은 곳 끝. 결과 = 결과 .. (리스트[j][i] 또는 "") 끝. 끝. 돌아가다 결과 끝. 기능. p.페일 세이프() 돌아가다 본문.연재의 끝. p.본문 = 기능. () 돌아가다 본문 끝. p.텍스트 돌아가다 p