모듈:랜덤
Module| 이 Lua 모듈은 약 11,000 페이지에서 사용되며 변화를 널리 알 수 있습니다.모듈의 /sandbox 또는 /test case 하위 페이지 또는 사용자 자신의 모듈 샌드박스에서 변경 사항을 테스트합니다.변경사항을 구현하기 전에 대화 페이지에서 변경사항에 대해 논의하는 것을 고려합니다. |
| 이 모듈은 페이지 보호 대상입니다.매우 많은 페이지에서 사용 중이거나 매우 자주 교체되는 가시성이 높은 모듈입니다.파괴 행위나 실수는 많은 페이지에 영향을 미치고 사소한 편집도 서버에 상당한 부하를 줄 수 있으므로 편집으로부터 보호됩니다. |
| 이 모듈은 다음과 같은 다른 모듈에 따라 달라집니다. |
이 모듈에는 난수를 사용하는 여러 함수가 포함되어 있습니다.임의의 숫자를 출력하고, 목록에서 임의의 항목을 선택하고, 목록을 임의로 재정렬할 수 있습니다.임의로 정렬된 목록은 인라인으로 출력하거나 다양한 유형의 정렬 및 정렬되지 않은 목록으로 출력할 수 있습니다.사용 가능한 기능은 아래에 더 자세히 설명되어 있습니다.
번호
그number함수는 난수를 출력합니다.
{{#보따리:숫자 m same=yes}} 그 주장들은m그리고.n생략할 수 있지만 지정된 경우 정수로 변환할 수 있어야 합니다.
- 인수를 지정하지 않으면[ 범위의 실수를 반환합니다.
- 하나의 인수를 사용하면 [ { 범위의 정수를 반환합니다.
m음 입니다. m, 0) , 0 만약m0 또는 1과 같음, 1을 반환합니다(m - 0 - 두 개의 인수를 사용하여[ { 범위의 정수를 반환합니다.
m그리고.n긍정적일 수도 있고 부정적일 수도 있습니다. 만약에.m보다 큼n대신[ {{ 범위의 정수를 반환합니다. - 만약에
same=파라미터를 "yes", "y", "true" 또는 "1"로 설정하면 지정된 페이지의 각 모듈 호출에 대해 동일한 난수가 반환됩니다.
예 ()
{{#invoke:random number}}→ 0.37347926356526{{#invoke:random number 100}}→ 78{{#invoke:random number -100 -50}}→ -93{{#invoke:random number 100 same=yes}}→ 74{{#invoke:random number 100 same=yes}}→ 74
이 기능에 대한 설명서는 Scribun에서 Lua 참조 설명서로 부분적으로 가져온 것으로, 이 설명서는 MIT 라이센스에 따라 제공되는 Lua 5.1 참조 설명서에 기반합니다.
날짜.
그date함수는 임의의 날짜를 출력합니다.
{{#message: 날짜 timestamp1 timestamp2 형식=날짜 형식 동일=예} - 타임스탬프 인수가 지정되지 않은 경우 모듈은 현재 연도의 임의 날짜를 출력합니다.
- 한다면
timestamp1그리고.timestamp2지정하면 모듈은 두 타임스탬프 사이의 임의 날짜를 출력합니다.timestamp1보다 이전이어야 합니다.timestamp2. - 다면
timestamp1를 지정하면 모듈은 Unix epoch(1970년 1월 1일)와 타임스탬프 사이의 임의 날짜를 출력합니다.timestamp11970년 1월 1일 이전이어야 합니다. - 형식 지정은 다음을 사용하여 지정할 수 있습니다.
format=매개 변수기본 형식은 "hh:mm, DD Month YYYY(UTC)"입니다(기본 Wikipedia 타임스탬프와 동일). - 타임스탬프 및
format=파라미터는 #time parser 함수와 호환되는 값을 허용합니다.가능한 모든 입력 값 및 형식 지정 옵션은 #time 설명서를 참조하십시오. - 만약에
same=매개 변수가 "yes", "y", "true" 또는 "1"로 설정되면 지정된 페이지의 각 모듈 호출에 대해 동일한 날짜가 반환됩니다.
예 ()
{{#invoke:random date}}2023년 6월 05일 00:25 (UTC){{#invoke:random date format=F j}}4월 19일{{#invoke:random date 1 Jan 1980 31 Dec 1999}}1999년 5월 11일 22:39 (UTC){{#invoke:random date 1st January 1500 1st January 3000 format=g:i a, l d M Y}}1974년 3월 15일 금요일 오전 6시 10분{{#invoke:random date 1970/06/01}}1970년 5월 29일 13:37(UTC){{#invoke:random date same=yes}}2023년 9월 26일 20:22 (UTC){{#invoke:random date same=yes}}2023년 9월 26일 20:22 (UTC)
항목
그item함수는 목록에서 임의의 항목을 출력합니다.
{{#precision : 아이템 리스트 1개 리스트 아이템 2개 리스트 아이템 3개 ... 동일=예스} 만약에 same=매개 변수가 "yes", "y", "true" 또는 "1"로 설정되면 지정된 페이지의 각 모듈 호출에 대해 동일한 항목이 반환됩니다.
예 ()
{{#invoke:random item egg beans sausage bacon spam}}스팸 메일{{#invoke:random item egg beans sausage bacon spam same=yes}}소시지{{#invoke:random item egg beans sausage bacon spam same=yes}}소시지
목록.
그list함수는 목록을 랜덤 순서로 출력합니다.
{{#precision : 리스트리스트 항목 1개 리스트 항목 2개 리스트 항목 3개 ... sep=분리막 한도=동일하게 표시할 항목 수=예}개 명명된 매개 변수
sep=또는separator=목록 항목에 대한 선택적 구분 기호입니다.일부 값은 특별합니다. 아래 표를 참조하십시오.limit=표시할 목록 항목의 최대 수.가장 낮은 값은 0이고 가장 높은 값은 목록의 길이입니다.same=이 값이 "yes", "y", "true" 또는 "1"로 설정된 경우 목록 순서는 지정된 페이지의 각 모듈 호출에 대해 동일합니다.
| 코드 | 산출량 |
|---|---|
dot | · |
pipe | |
comma | , |
tpt-languages | 【ptt-tx-deparator】 |
space | 여백 |
newline | 새로운 대사의 등장인물 |
| 그 밖의 어떤 가치 | 다른 값은 수정 없이 사용됩니다. |
공간을 직접 입력할 수 없습니다. sep=미디어의 제한으로 인한 매개 변수Wiki의 템플릿 구문입니다.그러나 HTML 엔티티를 사용하여 이 문제를 해결할 수 있습니다.사용할 수 있습니다. 정상적인 공간을 나타내는 것, 그리고 깨지지 않는 공간을 나타냅니다.
예 ()
{{#invoke:random list egg beans sausage bacon spam}}베이컨 소세지 에그빈스팸{{#invoke:random list egg beans sausage bacon spam sep=dot}}베이컨, 스팸, 콩, 소시지, 달걀{{#invoke:random list egg beans sausage bacon spam sep=space}}베이컨 에그 소시지 콩 스팸{{#invoke:random list egg beans sausage bacon spam sep=; }}소시지, 콩, 베이컨, 달걀, 스팸{{#invoke:random list egg beans sausage bacon spam sep=foo}}베이컨 후후아즈후아즈후아즈후아즈후아즈후아즈후아즈후아즈{{#invoke:random list egg beans sausage bacon spam limit=3}}에그바콘스팸{{#invoke:random list egg beans sausage bacon spam same=yes}}콩바코그스팸 소시지{{#invoke:random list egg beans sausage bacon spam same=yes}}콩바코그스팸 소시지
텍스트 목록
그text_list함수는 텍스트 스타일의 랜덤 순서로 목록을 출력합니다.다른 말로 하자면, 그것은 마치.list함수이지만 마지막 항목 앞에 다른 구분 기호가 있습니다.
{{#context_list list item 1 list item 2 list item 3 ... sep=분리기 cons=연동제한=동일하게 표시할 항목 수=예}개 구분 기호는 다음 중 하나를 사용하여 지정할 수 있습니다. sep=또는 separator=매개 변수. 기본값은 ", "입니다.연결은 다음 중 하나를 사용하여 지정할 수 있습니다. conj=또는 conjunction=매개 변수. 기본값은 " 및 "입니다.구분 기호 및 연결 기호는 목록 함수의 구분 기호와 동일한 값으로 지정할 수 있습니다.
표시할 목록 항목의 최대 수는 다음과 같이 설정할 수 있습니다. limit=매개 변수가장 낮은 값은 0이고 가장 높은 값은 목록의 길이입니다.
만약에 same=매개 변수가 "yes", "y", "true" 또는 "1"로 설정되면 목록 순서는 지정된 페이지의 각 모듈 호출에 대해 동일합니다.
예 ()
{{#invoke:random text_list egg beans sausage bacon spam}}소시지, 베이컨, 콩, 스팸, 계란{{#invoke:random text_list egg beans sausage bacon spam sep=; }}소시지, 달걀, 콩, 베이컨, 스팸{{#invoke:random text_list egg beans sausage bacon spam sep=;  conj= or }}베이컨, 소시지, 콩, 달걀 또는 스팸{{#invoke:random text_list egg beans sausage bacon spam limit=3}}스팸, 소시지, 콩{{#invoke:random text_list egg beans sausage bacon spam same=yes}}콩, 베이컨, 달걀, 스팸, 소시지{{#invoke:random text_list egg beans sausage bacon spam same=yes}}콩, 베이컨, 달걀, 스팸, 소시지
HTML 목록
HTML 목록을 임의 순서로 출력하려면 다음과 같은 5가지 기능 중에서 선택할 수 있습니다.bulleted_list,unbulleted_list,horizontal_list,ordered_list,그리고.horizontal_ordered_list이러한 기능은 모두 모듈을 사용합니다.리스트.
| 함수명 | 프로듀스 | 예제 코드 | 출력 예제( 고침) |
|---|---|---|---|
bulleted_list | 글머리 기호 목록 | {{#invoke:random bulleted_list egg sausage spam}} |
|
unbulleted_list | 글머리 기호가 없는 목록 | {{#invoke:random unbulleted_list egg sausage spam}} |
|
horizontal_list | 수평 글머리 기호 목록 | {{#invoke:random horizontal_list egg sausage spam}} |
|
ordered_list | 순서 목록(숫자 목록 및 알파벳 목록) | {{#invoke:random ordered_list egg sausage spam}} |
|
horizontal_ordered_list | 수평 정렬 목록 | {{#invoke:random horizontal_ordered_list egg sausage spam}} |
|
- 기본 용법
{{#filename:filename 함수 목록 항목 1 목록 항목 2 목록 항목 3...제한=동일하게 표시할 항목 수=예}개 - 모든 매개 변수
{{#filename:function 첫 번째 항목 두 번째 항목 세 번째 항목... 시작 = 순서 목록 유형 = 순서 목록에 대한 시작 번호 list_style_type = 순서 목록에 대한 마커 유형(CSS 사용) 클래스 = 클래스 스타일 = 스타일 목록에 대한 마커 유형 = 스타일 목록 항목에 대한 스타일 = 모든 목록 항목에 대한 스타일 = 첫 번째 목록 항목에 대한 스타일 1 style 스타일m_style2 = 두 번째 목록 항목의 스타일... 들여쓰기 = 수평 목록의 들여쓰기 } 표시할 목록 항목의 최대 수는 다음과 같이 설정할 수 있습니다. limit=매개 변수가장 낮은 값은 0이고 가장 높은 값은 목록의 길이입니다.
만약에 same=매개 변수가 "yes", "y", "true" 또는 "1"로 설정되면 목록 순서는 지정된 페이지의 각 모듈 호출에 대해 동일합니다.
이 모듈에는 난수를 사용하는 여러 기능이 포함되어 있습니다. 현지의 cfg = {} -------------------------------------------------------------------------------------- 구성 -------------------------------------------------------------------------------------- Wiki의 트래픽 속도가 2분마다 1회 미만인 경우 이 값을 true로 설정합니다. 이렇게 하면 새 편집이 이루어질 때까지 동일한 "랜덤" 번호가 연속으로 여러 번 생성되지 않습니다. 위키로.이 설정은 동일한 = 파라미터가 설정된 경우에만 관련됩니다. cfg.교통량이 적음 = 거짓의 cfg.lowTraffic이 true로 설정되어 있고 동일한 = 파라미터가 설정되어 있으면 이 값이 임의 시드의 새로 고침 빈도에 사용됩니다. 시드가 변경될 때까지의 시간(초)입니다.이것을 맞추는 것은 어렵습니다.너무 높게 설정하면 동일한 숫자 여러 번 연속으로 반환됩니다.너무 낮게 설정하면 같은 페이지에 서로 다른 난수가 나타날 수 있습니다. 특히 처리하는 데 몇 초가 걸리는 페이지의 경우. cfg.시드 새로 고침 빈도 = 60 -------------------------------------------------------------------------------------- 종료 구성 -------------------------------------------------------------------------------------- 현지의 p = {} 다른 Lua 모듈에서 사용할 수 있는 기능의 경우. 현지의 l = {} 다른 Lua 모듈에서는 사용할 수 없지만 테이블 키를 사용하여 액세스해야 하는 기능의 경우. 현지의 예 아니오 = 요구하다('모듈:'예스노') 현지의 makeList = 요구하다('모듈:리스트').makeList -------------------------------------------------------------------------------------- 도우미 기능 -------------------------------------------------------------------------------------- 현지의 기능. 오류 발생(메시지) 이렇게 하면 위키 텍스트 오류가 발생하는 데 도움이 됩니다.출력에 포함하는 방법은 호출 기능의 책임입니다. 돌아가다 mw.ustring.서식을('<b class="error">[모듈:임의] 오류: %s.'/b>, 메시지) 끝. -------------------------------------------------------------------------------------- 난수 함수 -------------------------------------------------------------------------------------- 현지의 기능. 빅랜덤 획득(l, u) l과 u 사이의 임의 정수를 가져오며, RAND_MAX로 제한되지 않습니다. 현지의 r = 0 현지의 n = 2^수학, 수학,수학(30) 임의의 2의 거듭제곱. 현지의 제한. = 수학, 수학,수학(53 / (수학 로그(n) / 수학 로그(2))) 위해서 i = 1, 제한. 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 r = r + 수학, 수학,수학(0, n - 1) / (n^i) 끝. 돌아가다 수학.플로어(r * (u - l + 1)) + l 끝. 기능. l.번호(논병아리) 난수를 가져옵니다. 첫번째 = 수에 달하여(논병아리[1]) 둘째 = 수에 달하여(논병아리[2]) math.random으로 지정된 문이 명시적인 nil 값을 인수로 허용하지 않는 경우 사용해야 합니다. 한다면 첫번째 그리고나서 한다면 둘째 그리고나서 한다면 첫번째 > 둘째 그리고나서 두 번째 숫자가 첫 번째 숫자보다 작을 수 없습니다. 그렇지 않으면 오류가 발생합니다. 첫번째, 둘째 = 둘째, 첫번째 끝. 돌아가다 빅랜덤 획득(첫번째, 둘째) 또 다른 돌아가다 빅랜덤 획득(1, 첫번째) 끝. 또 다른 돌아가다 수학, 수학,수학() 끝. 끝. -------------------------------------------------------------------------------------- 날짜 함수 -------------------------------------------------------------------------------------- 기능. l.날짜.(논병아리) 이 함수는 임의의 날짜를 가져오고 위치 인수로 타임스탬프를 사용합니다. 인수를 지정하지 않으면 현재 연도의 임의 날짜를 출력합니다. 두 개의 인수를 지정하면 타임스탬프 사이의 임의 날짜가 출력됩니다. 하나의 인수가 지정된 경우 날짜는 unix epoch(1970년 1월 1일)와 타임스탬프 사이의 임의 날짜입니다. 출력 형식은 #time 파서 함수와 동일한 방식으로 작동하는 "format" 인수를 사용하여 지정할 수 있습니다. 기본 형식은 표준 Wikipedia 타임스탬프입니다. 현지의 랑그 = mw.언어.콘텐츠 언어 가져오기() 현지의 기능. 날짜 가져오기(서식을, ts) 현지의 성공., 날짜. = pcall(랑그.formatDate, 랑그, 서식을, ts) 한다면 성공. 그리고나서 돌아가다 날짜. 끝. 끝. 현지의 기능. 유닉스 타임스탬프 가져오기(ts) 현지의 언익스택스 = 날짜 가져오기('U', ts) 한다면 언익스택스 그리고나서 돌아가다 수에 달하여(언익스택스) 끝. 끝. 현지의 t1 = 논병아리[1] 현지의 t2 = 논병아리[2] 시작 타임스탬프와 종료 타임스탬프를 찾습니다. 현지의 시작 타임스탬프, 종료 시간 스탬프 한다면 것은 아니다. t1 그리고나서 현재 연도의 첫 번째와 마지막 두 번째를 찾습니다. 현지의 금년도 = 수에 달하여(날짜 가져오기('Y')) 현지의 현재 연도 시작 유닉스 = 수에 달하여(유닉스 타임스탬프 가져오기(1월 1일 .. 끈으로 묶는(금년도))) 현지의 현재 연말 유닉스 = 수에 달하여(유닉스 타임스탬프 가져오기(1월 1일 .. 끈으로 묶는(금년도 + 1))) - 1 시작 타임스탬프 = '@' .. 끈으로 묶는(현재 연도 시작 유닉스) @는 lang:formatDate로 UNIX 타임스탬프를 나타내는 데 사용됩니다. 종료 시간 스탬프 = '@' .. 끈으로 묶는(현재 연말 유닉스) 그렇지 않으면 t1 그리고. 것은 아니다. t2 그리고나서 시작 타임스탬프 = '@0' 유닉스 시대, 1970년 1월 1일 종료 시간 스탬프 = t1 그렇지 않으면 t1 그리고. t2 그리고나서 시작 타임스탬프 = t1 종료 시간 스탬프 = t2 끝. 잘못된 입력(또는 안타깝게도 소수의 기본 PHP 라이브러리의 버그)에 대한 유닉스 타임스탬프 및 반환 오류를 가져옵니다. 현지의 시작 타임스탬프 유닉스 = 유닉스 타임스탬프 가져오기(시작 타임스탬프) 현지의 종료 타임스탬프 유닉스 = 유닉스 타임스탬프 가져오기(종료 시간 스탬프) 한다면 것은 아니다. 시작 타임스탬프 유닉스 그리고나서 돌아가다 오류 발생('"' .. 끈으로 묶는(시작 타임스탬프) .. 유효한 타임스탬프로 인식되지 않았습니다.') 그렇지 않으면 것은 아니다. 종료 타임스탬프 유닉스 그리고나서 돌아가다 오류 발생('"' .. 끈으로 묶는(종료 시간 스탬프) .. 유효한 타임스탬프로 인식되지 않았습니다.') 그렇지 않으면 시작 타임스탬프 유닉스 > 종료 타임스탬프 유닉스 그리고나서 돌아가다 오류 발생('시작 날짜가 종료 날짜(시작 날짜: " .. 시작 타임스탬프 .. 종료 날짜: " .. 종료 시간 스탬프 .. '")') 끝. 두 UNIX 타임스탬프 사이에 임의의 숫자를 가져온 후 지정된 형식을 사용하여 반환합니다. 현지의 랜덤 타임스탬프 = 빅랜덤 획득(시작 타임스탬프 유닉스, 종료 타임스탬프 유닉스) 현지의 날짜 형식 = 논병아리.서식을 또는 'H:i, dFY(T)' 현지의 결과 = 날짜 가져오기(날짜 형식, '@' .. 끈으로 묶는(랜덤 타임스탬프)) 한다면 결과 그리고나서 돌아가다 결과 또 다른 돌아가다 오류 발생('"' .. 날짜 형식 .. 올바른 날짜 형식이 아닙니다.') 끝. 끝. -------------------------------------------------------------------------------------- 함수 나열 -------------------------------------------------------------------------------------- 현지의 기능. 무작위로 짜다배열(t, 제한.) 배열을 랜덤화합니다.항목을 바꿀 때마다 목록을 거꾸로 반복하여 작동합니다. "i"를 임의로 입력합니다.신환 제공(http://forums.wowace.com/showthread.php?p=279756 ) 한계 매개 변수가 설정된 경우, 배열은 랜덤화된 후에 그만큼의 요소로 단축됩니다. 가장 낮은 값은 0이고 가장 높은 값은 배열의 길이입니다. 현지의 렌 = #t 위해서 i = 렌, 2, -1 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 현지의 r = 수학, 수학,수학(i) t[i], t[r] = t[r], t[i] 끝. 한다면 제한. 그리고. 제한. < 렌 그리고나서 현지의 리트 = {} 위해서 i, v 에 짝을 짓다(t) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 한다면 i > 제한. 그리고나서 브레이크. 끝. 리트[i] = v 끝. 돌아가다 리트 또 다른 돌아가다 t 끝. 끝. 현지의 기능. 공백 제거(t) 배열에서 빈 항목을 제거하여 ipair와 함께 사용할 수 있도록 합니다. 현지의 리트 = {} 위해서 k, v 에 쌍들(t) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 한다면 유형(k) == '숫자' 그리고나서 표.삽입(리트, k) 끝. 끝. 테이블. 테이블.(리트) 위해서 i, v 에 짝을 짓다(리트) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 리트[i] = t[v] 끝. 돌아가다 리트 끝. 현지의 기능. 구분자 만들기(셉) 한다면 셉 == '공간' 그리고나서 공백을 구분 기호로 쉽게 사용할 수 있는 방법을 포함합니다. 돌아가다 ' ' 그렇지 않으면 셉 == 'new line' 그리고나서 새 줄에 대한 디토 돌아가다 '\n' 그렇지 않으면 유형(셉) == '끈' 그리고나서 구분 기호가 인식되는 MediaWiki 구분 기호인 경우 사용합니다.그렇지 않으면 문자열인 경우 sep 값을 사용합니다. 현지의 mw 구분 기호 = {'점, '파이프', '''비공식''', 'tpt-discovery'} 위해서 _, mwsep 에 짝을 짓다(mw 구분 기호) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 한다면 셉 == mwsep 그리고나서 돌아가다 mw.메세지.신규( 셉 .. '- 구분 기호' ):평지() 끝. 끝. 돌아가다 셉 끝. 끝. 현지의 기능. 임의 목록 만들기(논병아리) 현지의 목록. = 공백 제거(논병아리) 목록. = 무작위로 짜다배열(목록., 수에 달하여(논병아리.제한.)) 돌아가다 목록. 끝. 기능. l.항목(논병아리) 번호가 매겨진 목록에서 임의의 항목을 반환합니다. 현지의 목록. = 공백 제거(논병아리) 현지의 렌 = #목록. 한다면 렌 >= 1 그리고나서 돌아가다 목록.[수학, 수학,수학(렌)] 끝. 끝. 기능. l.목록.(논병아리) 목록을 랜덤화하고 결과를 구분 기호와 연결합니다. 현지의 목록. = 임의 목록 만들기(논병아리) 현지의 셉 = 구분자 만들기(논병아리.셉 또는 논병아리.구분자) 돌아가다 테이블.콘캣(목록., 셉) 끝. 기능. l.text_list(논병아리) 목록을 랜덤화하고 결과를 텍스트 스타일로 연결합니다.구분 기호 및 연결 변수를 사용할 수 있습니다. 현지의 목록. = 임의 목록 만들기(논병아리) 현지의 셉 = 구분자 만들기(논병아리.셉 또는 논병아리.구분자) 현지의 사기꾼 = 구분자 만들기(논병아리.사기꾼 또는 논병아리.접속사) 돌아가다 mw.본문.listToText(목록., 셉, 사기꾼) 끝. 기능. l.배열(논병아리) 랜덤화된 Lua 배열을 반환합니다.다른 Lua 모듈에서 사용합니다. 돌아가다 무작위로 짜다배열(논병아리.t, 논병아리.제한.) 끝. -------------------------------------------------------------------------------------- HTML 목록 함수 -------------------------------------------------------------------------------------- 기능. l.html_list(논병아리, listType) 목록을 임의로 지정하여 HTML 목록으로 변환합니다.[[모듈] 사용:목록]]. listType = listType 또는 '글머리글' 현지의 listArgs = 임의 목록 만들기(논병아리) 모듈 인수:목록]]. 위해서 k, v 에 쌍들(논병아리) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 한다면 유형(k) == '끈' 그리고나서 listArgs[k] = v 끝. 끝. 돌아가다 makeList(listType, listArgs) 끝. -------------------------------------------------------------------------------------- 주 기능.다른 Lua 모듈에서 호출됩니다. -------------------------------------------------------------------------------------- 기능. p.주된(funcName, 논병아리, listType) 난수 발생기의 시드를 설정하고 다른 함수에 제어 권한을 전달합니다. 현지의 저도. = 예 아니오(논병아리.저도.) 한다면 것은 아니다. 저도. 그리고나서 같은 페이지에서라도 모듈을 호출할 때마다 다른 번호를 생성합니다. 이는 os.clock(Lua 스크립트가 실행된 시간(초)의 변동성 때문입니다. 수학.채찍 종자(mw.위치.통계학.편집. + mw.위치.통계학.페이지들 + os.time() + 수학.플로어(os.clock() * 1000000000)) 또 다른 한다면 것은 아니다. cfg.교통량이 적음 그리고나서 시간 기반의 어떤 것도 사용하지 않고 가능한 임의의 시드를 만듭니다.즉, 동일한 난수가 동일한 페이지에서 동일한 입력에 대해 생성됩니다. 일부 위키코드 템플릿에 필요한 동작입니다. 잘못된 의사-숫자 생성을 가정합니다. 현지의 통계학 = mw.위치.통계학 현지의 견해 = 통계학.견해 또는 0 항상 사용할 수 있는 것은 아니기 때문에 백업이 필요합니다. 현지의 씨를 뿌리다 = 견해 + 통계학.페이지들 + 통계학.기사들 + 통계학.파일 + 통계학.편집. + 통계학.사용자들 + 통계학.활성 사용자 + 통계학.관리자들 os.time() 또는 os.clock()을 사용하지 않고 가능한 임의로 설정합니다. 수학.채찍 종자(씨를 뿌리다) 또 다른 무작위 시드를 n초마다 변경합니다. 여기서 n은 cfg.seedRefreshRate로 설정됩니다. 이 기능은 새 편집이 자주 발생하지 않는 트래픽이 적은 Wiki에 유용합니다. 수학.채찍 종자(수학.플로어(os.time() / cfg.시드 새로 고침 빈도)) 끝. 끝. 한다면 유형(논병아리) ~= '탁자' 그리고나서 오류(p.main의 두 번째 인수는 테이블이어야 합니다.') 끝. 돌아가다 l[funcName](논병아리, listType) 끝. -------------------------------------------------------------------------------------- #invoke의 인수 처리 -------------------------------------------------------------------------------------- 현지의 기능. 포장마차(funcName, listType) 이 함수는 #invoke의 인수 처리를 위한 래퍼를 제공합니다. listType은 p.html_list와 함께만 사용되며 나머지 시간에는 0입니다. 돌아가다 기능. (틀) #invoke를 통해 호출된 경우 호출 템플릿에 전달된 인수를 사용하거나, 존재하는 경우 #invoke에 전달된 인수를 사용합니다. 그렇지 않으면 디버그 콘솔 또는 다른 Lua 모듈에서 직접 인수가 전달된다고 가정합니다. 현지의 origArgs 한다면 틀 == mw.현재 프레임 가져오기() 그리고나서 origArgs = 틀:상위 항목 가져오기().논병아리 위해서 k, v 에 쌍들(틀.논병아리) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 origArgs = 틀.논병아리 브레이크. 끝. 또 다른 origArgs = 틀 끝. 공백을 잘라내고 빈 인수를 제거합니다. 현지의 논병아리 = {} 위해서 k, v 에 쌍들(origArgs) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 한다면 유형(v) == '끈' 그리고나서 v = mw.본문.다듬다(v) 끝. 한다면 v ~= '' 그리고나서 논병아리[k] = v 끝. 끝. 돌아가다 p.주된(funcName, 논병아리, listType) 끝. 끝. HTML 목록 함수에 대한 인수를 처리합니다. 현지의 htmlListFuncs = { 글머리 기호_목록 = '글머리글', 글머리 기호가 없는_목록 = '글머리 기호 없음', 수평 목록 = '전통적인', ordered_list = '주문됨', 수평_순서_목록 = '추가_주문됨' } 위해서 funcName, listType 에 쌍들(htmlListFuncs) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 p[funcName] = 포장마차('filename_list', listType) 끝. 다른 함수에 대한 인수를 처리합니다. 현지의 기타 펑스 = {'숫자', '날짜', '항목', '리스트', 'text_list'} 위해서 _, funcName 에 짝을 짓다(기타 펑스) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 p[funcName] = 포장마차(funcName) 끝. 돌아가다 p