모듈:압축 목록
Module| 이 모듈은 페이지 보호 대상입니다.매우 많은 페이지에서 사용 중이거나 매우 자주 교체되는 가시성이 높은 모듈입니다.파괴 행위나 실수는 많은 페이지에 영향을 미치고 사소한 편집도 서버에 상당한 부하를 줄 수 있으므로 편집으로부터 보호됩니다. |
사용.
다른 템플릿(예: 정보 상자) 내부의 Lua 코드입니다.명명된 인수 집합으로 압축 목록을 만듭니다.예를 들어 이 모듈에 대한 인수가 "foo"인 경우 "foo"라는 이름의 모든 인수 뒤에 하나 이상의 숫자가 있는 선택적 밑줄을 검색합니다.그런 다음 명명된 모든 인수를 숫자 순서대로 "예쁘게 인쇄된" 목록으로 조립합니다.목록이 짧은 경우(<= 4 길이) 모듈은 {{hlist}}를 사용하여 "A·B·C·D" 형식으로 인쇄합니다.길이가 긴 경우 {{collapsible list}}을(를) 사용합니다.임계값은 다음을 사용하여 설정할 수 있습니다. _limit=.
"foo"라는 이름의 모든 인수를 수집하는 상위 템플릿의 일반적인 용도:
{{#invoke:Compact list main foo _limit=4}}
예
참고: 이러한 예제에는 명명된 인수가 모듈에 직접 전달됩니다.실제로 이러한 명명된 인수는 모듈을 호출하는 템플릿으로 전달됩니다.
{{#invoke:Compact list main ook ook=A spud=1234}}A
{{#invoke:Compact list main ook ook1=A ook_2=B}}→- A
- B
{{#invoke:Compact list main ook ook=A ook1=B ook2=C ook3=D}}→ - A
- B
- C
- D
{{#invoke:Compact list main ook ook1=A ook5=B ook20=C ook3000=D ook342345=E foofoofoo=234}}→목록.
- A
- B
- C
- D
- E
{{#invoke:Compact list main ook ook1=A ook5=B ook20=C ook3000=D ook342345=E foofoofoo=234 _limit=5}}→ - A
- B
- C
- D
- E
{{#invoke:Compact list main ook ook=A ook1=B ook2=C ook3=D ook4=E ook5=F ook6=G}}→목록.
- A
- B
- C
- D
- E
- F
- G
현지의 args를 얻다 = 요구하다('모듈:인수').args를 얻다 현지의 클리스트 = 요구하다('모듈:축소 가능한 목록' 목록).주된 현지의 hlist = 요구하다('모듈:리스트').수평의 현지의 압축희소어레이 = 요구하다('모듈:테이블 도구').압축희소어레이 현지의 p = {} --[[ 이름이 지정된 인수와 번호가 지정된 인수를 예쁜 목록으로 결합합니다. "이름 지정 및 번호 지정"은 foo, foo0, foo_1, foo234를 의미합니다. foo_와 일치하는 것이 있습니까?%d+ 인수: args[1] = 검색할 인수 이름 나머지 인수 = 검색할 인수 반환: 인수 번호 순서대로 예쁜 목록입니다. "foo"가 먼저 오고 "foo0", "foo1", ... "fooN"이 뒤에 옵니다. 인수 번호가 순차적일 필요는 없습니다. <= args[_limit](기본값 4)와 일치하는 args의 수가 같으면, "A, B, C 및 D" 형식의 텍스트 목록을 반환합니다. 그렇지 않으면 축소 가능 목록({{clist}})을 반환합니다. --]] 기능. p._본(논병아리) 현지의 양식 = "^"..논병아리[1].."_?(%d+$)" 일치시킬 패턴 현지의 가치 = {} 위해서 k, v 에 쌍들(논병아리) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 모든 논쟁을 뒤적거리다. 한다면 k == 논병아리[1] 그리고나서 만약 논쟁이 단지 "foo"라면, 그것을 우선시하세요. 가치[1] = v 또 다른 질서를 = 수에 달하여(mw.ustring.경기(k,양식)) 만약 "foo_?"%d+", 추출 번호 한다면 질서를 그리고나서 가치[질서를+2] = v 값을 number+2로 목록에 넣습니다(foo0의 경우에도 "foo"를 먼저 유지) 끝. 끝. 끝. 가치 = 압축희소어레이(가치) 값의 간격/nail을 비집고, 계속 순서 지정 현지의 제한. = 수에 달하여(논병아리._한계) 또는 4 한다면 #가치 == 0 그리고나서 돌아가다 '' 끝. 한다면 #가치 == 1 그리고나서 돌아가다 가치[1] 끝. 한다면 #가치 > 제한. 그리고나서 돌아가다 클리스트(가치) 제한 시간보다 길면 모듈을 호출합니다.축소 가능 목록 끝. 돌아가다 hlist(가치) 그렇지 않으면 수평 목록 만들기 끝. 기능. p.주된(틀) 현지의 논병아리 = args를 얻다(틀) 돌아가다 p._본(논병아리) 끝. 돌아가다 p