모듈:파람스
Module| 이 모듈은 알파 등급입니다.타사 입력에 사용할 준비가 되어 있으며, 문제가 발생하는지 확인하기 위해 몇 페이지에서 사용할 수 있지만 지켜봐야 합니다.새로운 기능에 대한 제안이나 입력 및 출력 메커니즘의 변경을 환영합니다. |
그{{#invoke:params}}모듈은 매개 변수를 심층적으로 제어하려는 템플릿에 채택되도록 설계되었습니다.변수 템플릿의 경우 특히 유용합니다. 변수 템플릿을 사용하면 번호를 미리 알지 못한 채 수신된 매개 변수를 카운트, 목록, 매핑 및 전파할 수 있습니다.
모듈은 비변량 템플릿에 대한 우아한 바로 가기도 제공합니다.템플릿 외부에는 응용 프로그램이 거의 없습니다. 따라서 실험을 하려면 템플릿 내에서 수행해야 합니다. 그렇지 않으면 많은 것을 볼 수 없습니다.
템플릿에서 이 모듈을 사용하는 경우 추가하십시오.{{lua 모듈:Params}은(는) 문서 페이지로 이동하므로 나중에 변경 사항이 적용될 경우 템플릿을 쉽게 추적할 수 있습니다.
일반용도
모듈이 제공하는 가능성 중에는 새로운 인수가 템플릿의 수신 매개 변수에 연결된 후 일련의 작업을 수행하는 가능성이 있습니다.따라서 옵션을 지정하기 위해 명명된 인수 대신 인수 슬롯을 간섭으로부터 깨끗하게 유지해야 하므로 이 모듈은 파이프 함수(즉, 호출자에게 반환하는 대신 파이프로 연결될 것으로 예상되는 함수) 또는 한정자를 사용합니다.이렇게 하면 다음 예제와 유사한 구문이 생성됩니다.
{{#params: [수정자] [...] [수정자] [...] 함수 [...]}예를 들어, 이름에서 알 수 있듯이,listfunction에는 템플릿이 호출된 매개 변수가 나열됩니다.기본적으로 구분 기호를 추가하지 않고 키와 값이 서로 붙어 있는 불분명한 텍스트 조각을 반환합니다.그러나 사용함으로써setting수정자, 키-값 구분 기호를 선언할 수 있습니다.p) 및 반복 구분 기호(i) 그래서, 만약 우리가 이름을 가진 템플릿을 상상한다면.{{Example template}}다음 위키텍스트를 포함합니다.
{{#params:params 설정 i/p <br /> : list}그리고 그러한 템플릿은 다음과 같은 인수로 호출되었습니다.
다음과 같은 결과가 생성됩니다.
- 올빼미맨: 거대한 올빼미처럼 생긴 생명체
보드민의 야수:보드민 무어에 서식하는 대형 고양이과 동물
모르가우르:바다뱀
우리는 또한 헤더를 설정할 수 있는 가능성을 이용하여 더 정교한 작업을 수행할 수 있습니다.h) 및 바닥글(f), 이전 코드를 정의 목록 생성기로 변환할 수 있습니다.
{{#params 설정 h/p/i/f <dt> <dt> <dd> <dt> <dt> <dt> </dd> </dd> 목록}따라서 산출:
- 보드민의 야수
- 보드민 무어에 서식하는 대형 고양이과 동물
- 모르가우르
- 바다뱀
- 올빼미맨
- 거대한 올빼미처럼 생긴 생명체
다음을 배치합니다.with_name_matching앞의 수식어list함수를 사용하면 "n"으로 끝나지 않는 모든 매개 변수 이름과 같은 일부 매개 변수를 필터링할 수 있습니다.
{{#params:_name_dll n$ 설정 h/p/i/f <dt> <dt> <dd> <dt> <dt> <dt> <dt> </dd> list}}따라서 이전 코드는 다음을 생성합니다.
- 보드민의 야수
- 보드민 무어에 서식하는 대형 고양이과 동물
- 올빼미맨
- 거대한 올빼미처럼 생긴 생명체
이 메커니즘은 무한 수식어를 연결할 수 있는 고유한 이점을 가지고 있습니다.따라서 원하는 정확한 결과를 얻기 위해 다음과 같이 기록할 수 있습니다.
{{#invoke: _name_matching ^B와 _name_matching n$과 _value_matching 고양이 설정 h/p/i/f <dt> <dt> </dd> <dt> </dd> </dd> list}}두 개의 수식어sequential그리고.non-sequential위키텍스트에서 사용되는 전문 용어를 참조합니다. 매개 변수 목록에서 순차 매개 변수의 하위 그룹은 1=부터 시작하는 가장 큰 연속 숫자 매개 변수 그룹으로 구성됩니다. 이를 매개 변수의 "시퀀스"라고 합니다.첫 번째 매개 변수가 지정되지 않은 매개 변수 목록에는 시퀀스가 없습니다.
기능들
다음은 함수 목록입니다.§ 수식자도 참조할 수 있습니다.
count
| 인수 수 | 0 |
|---|---|
| 종종 앞에 있음 | sequential |
| 영향을 받지 않음 | all_sorted |
| 참고 항목 | |
{{#invoke:ParameterCount}} | |
- 짧은.
- 템플릿을 사용하여 호출된 매개 변수 수 카운트
- 구문
{{#invoke:params count}}
이 함수는 인수를 사용하지 않습니다.
concat_and_call
| 인수 수 | 아디비툼 |
|---|---|
| 영향을 받지 않음 | all_sorted |
| 참고 항목 | |
concat_and_invoke | |
- 짧은.
- 현재 매개 변수에 숫자 인수를 추가하거나 숫자가 아닌 인수를 적용한 다음 모든 항목을 사용자 지정 템플릿으로 전파
- 구문
{{#invoke:params concat_and_call template name [prepend 1] [prepend 2] [...] [prepend n] [named item 1=value 1] [...] [named item n=value n] [...]}}
예를 들어, 만약 우리가.{{Example template}}다음과 같은 코드가 있습니다.
{{#params concat_and_call foo bar elbow earth room 7=help hello=not today}}부름을 받고,
에 대한 다음 전화.{{Foo bar}}템플릿이 수행됩니다.
템플릿 이름 이외의 다른 인수가 제공되지 않으면 이 함수는 현재 매개 변수를 다른 템플릿으로 반향시킵니다.
참고: 템플릿 이름을 제외하고 이 함수에 전달된 모든 인수는 선행 및 후행 공백을 자르지 않습니다.concat_and_call그러나 함수 이름 자체는 주변 공간에서 잘립니다.
concat_and_invoke
| 인수 수 | 아디비툼 |
|---|---|
| 영향을 받지 않음 | all_sorted |
| 참고 항목 | |
concat_and_call | |
- 짧은.
- 현재 매개 변수에 숫자 인수를 추가하거나 숫자가 아닌 인수를 적용한 다음 모든 것을 사용자 지정 모듈로 전파
- 구문
{{#invoke:params concat_and_invoke module name function name [prepend 1] [prepend 2] [...] [prepend n] [named item 1=value 1] [...] [named item n=value n] [...]}}
꼭 닮음concat_and_call그러나 템플릿을 호출하는 대신 모듈을 호출합니다.
참고: 모듈 이름과 함수 이름을 제외하고 이 함수에 전달된 모든 인수는 선행 및 후행 공백을 자르지 않습니다.concat_and_invoke그러나 함수 이름 자체는 주변 공간에서 잘립니다.
value_of
| 인수 수 | 1 |
|---|---|
| 관련 런타임 변수 | h,f,n |
| 영향을 받지 않음 | all_sorted |
| 참고 항목 | |
list_values | |
- 짧은.
- 단일 매개 변수의 값을 가져옵니다.
- 구문
{{#invoke:params value_of parameter name}}
수식어가 없는 경우 이 기능은 쓰기와 유사합니다.{{{parameter name }}}그러나 수식어를 사용하면 사전에 매개 변수 번호를 알지 못하면 도달할 수 없는 매개 변수에 도달할 수 있습니다.예를 들어 글을 쓰는 것은
{{#params:절단 -20 value_1}}템플릿이 호출된 매개 변수 수와 관계없이 두 번째 마지막 순차 매개 변수 값으로 확장됩니다.일치하는 매개 변수를 찾을 수 없는 경우 이 함수는 0으로 확장됩니다.머리글(h), 바닥글(f) 및 폴백 텍스트(n)를 통해 선언할 수 있습니다.settingmodifier – 키-값 쌍 구분 기호에 할당된 문자열(p) 및 반복 구분 기호(i)이 무시됩니다.
list
| 인수 수 | 아디비툼 |
|---|---|
| 정렬 가능 | 네. |
| 관련 런타임 변수 | h,p,i,f,n |
| 참고 항목 | |
list_values | |
- 짧은.
- 템플릿 매개 변수(이름과 값 모두) 나열
- 구문
{{#invoke:params list}}
이 함수는 인수를 사용하지 않습니다.
만약에setting한정자가 이전에 배치되지 않았습니다. 이 함수는 구분자를 추가하지 않지만 키와 값이 서로 붙어 있는 불분명한 텍스트 조각을 반환합니다.머리글(h), 키-값 쌍 구분 기호(p), 반복 구분 기호(i), 바닥글(f) 및 폴백 텍스트(n)을 통해 선언할 수 있습니다.setting.
예를 들어, 다음 코드는
{{#invoke:params setting h/i/p/f/n ' '''Parameters passed:''' ); ( ) '''Parameters passed''' list}는 다음과 유사한 출력을 생성합니다.
- 전달된 매개 변수:올빼미맨(거대한 올빼미 모양의 생물);보드민의 야수(보드민 무어에 서식하는 큰 고양이); 모르가우르(바다뱀)
list_values
| 인수 수 | 아디비툼 |
|---|---|
| 정렬 가능 | 네. |
| 종종 앞에 있음 | sequential |
| 관련 런타임 변수 | h,i,f,n |
| 참고 항목 | |
list,value_of,{{#invoke:separated entries}} | |
- 짧은.
- 들어오는 매개 변수의 값을 나열
- 구문
{{#invoke:params list_values}}
이 함수는 인수를 사용하지 않습니다.
그sequential수식어는 일반적으로 이 함수와 함께 제공됩니다.만약에setting한정자가 이전에 배치되지 않았습니다. 이 함수는 구분자를 추가하지 않지만 값이 서로 붙어 있는 불분명한 텍스트 조각을 반환합니다.머리글(h), 반복 구분 기호(i), 바닥글(f) 및 폴백 텍스트(n)을 통해 선언할 수 있습니다.setting키-값 쌍 구분 기호에 할당된 문자열(p)이 무시됩니다.
예를 들어, 다음 코드는
{{#invoke:params setting h/i/p/f/n '''Parameters passed:'''); ( ) '''아무도 parameters passed'' list_values}는 다음과 유사한 출력을 생성합니다.
- 전달된 매개 변수 값:올빼미를 닮은 거대한 생물; 보드민 무어에 사는 큰 고양이; 바다뱀입니다.
call_for_each
| 인수 수 | 아디비툼 |
|---|---|
| 정렬 가능 | 네. |
| 관련 런타임 변수 | h,i,f,n |
| 참고 항목 | |
call_for_each_value,invoke_for_each,magic_for_each,{{#invoke:for loop}},{{for loop}} | |
- 짧은.
- 호출자 템플릿에 전달된 각 매개 변수에 대해 두 개 이상의 매개 변수(키 및 값)가 있는 사용자 지정 템플릿을 호출합니다.
- 구문
{{#invoke:params call_for_each template name [append 1] [append 2] [...] [append n] [named param 1=value 1] [...] [named param n=value n] [...] }}
템플릿 이름 뒤에 오는 명명되지 않은 모든 매개 변수는 키-값 쌍 뒤에 배치됩니다.명명된 매개 변수는 말 그대로 전달됩니다.머리글(h), 반복 구분 기호(i), 바닥글(f) 및 폴백 텍스트(n)를 통해 선언할 수 있습니다.settingmodifier – 키-값 쌍 구분 기호에 할당된 문자열(p)이 무시됩니다.
각 키-값 쌍에 대한 템플릿 호출
{{#pars:params 순차 호출_for_each foobar}}쓰는 것과 다를 것입니다.
{{#foobar:params sequential for_each {{foobar $#$@}}}개첫 번째 예제에서는 각 키-값 쌍이 {{foobar}} 템플릿으로 전달되고 두 번째 예제에서는$#그리고.$@{{foobar}} 템플릿이 호출된 후 토큰이 확장됩니다.대부분의 경우 이 방법은 아무런 차이가 없지만 무의미한 결과를 초래할 수 있는 몇 가지 상황이 있습니다.
참고: 템플릿 이름을 제외하고 이 함수에 전달된 모든 인수는 선행 및 후행 공백을 자르지 않습니다.call_for_each그러나 함수 이름 자체는 주변 공간에서 잘립니다.
invoke_for_each
| 인수 수 | 아디비툼 |
|---|---|
| 정렬 가능 | 네. |
| 관련 런타임 변수 | h,i,f,n |
| 참고 항목 | |
invoke_for_each_value,call_for_each,magic_for_each | |
- 짧은.
- 호출자 템플릿에 전달된 각 매개 변수에 대해 두 개 이상의 인수(키 및 값)를 사용하여 사용자 지정 모듈 함수를 호출합니다.
- 구문
{{#invoke:params invoke_for_each module name module function [append 1] [append 2] [...] [append n] [named param 1=value 1] [...] [named param n=value n] [...]}}
꼭 닮음call_for_each그러나 템플릿을 호출하는 대신 모듈을 호출합니다.
각 키-값 쌍에 대한 모듈 함수 호출
{{#params:params sequential invoke_for_each foobar main}쓰는 것과 다를 것입니다.
{{#params:params sequential for_each {{#params:foobar main $#$@}}}}개첫 번째 예제에서는 각 키-값 쌍이 {{#invoke:foobar main} 모듈 함수로 전달되고, 두 번째 예제에서는$#그리고.$@토큰은 모듈 기능이 호출된 후에 확장됩니다.이렇게 해도 아무런 차이가 없을 수도 있지만, 터무니없는 결과를 초래할 수 있는 몇 가지 상황이 있습니다.
참고: 모듈 이름과 함수 이름을 제외하고 이 함수에 전달된 모든 인수는 선행 및 후행 공백을 자르지 않습니다.invoke_for_each그러나 함수 이름 자체는 주변 공간에서 잘립니다.
magic_for_each
| 인수 수 | 아디비툼 |
|---|---|
| 정렬 가능 | 네. |
| 관련 런타임 변수 | h,i,f,n |
| 참고 항목 | |
magic_for_each_value,call_for_each,invoke_for_each | |
- 짧은.
- 호출자 템플릿에 전달된 각 매개 변수에 대해 두 개 이상의 인수(키 및 값)가 있는 마법 단어를 호출합니다.
- 구문
{{#invoke:params magic_for_each parser function [append 1] [append 2] [...] [append n] [named param 1=value 1] [...] [named param n=value n] [...]}}
꼭 닮음call_for_each템플릿 대신 파서 함수를 호출합니다.
참고: 마법 단어를 제외한 이 함수에 전달된 모든 인수는 선행 및 후행 공백을 자르지 않습니다.magic_for_each그러나 함수 이름 자체는 주변 공간에서 잘립니다.
call_for_each_value
| 인수 수 | 아디비툼 |
|---|---|
| 정렬 가능 | 네. |
| 종종 앞에 있음 | sequential |
| 관련 런타임 변수 | h,i,f,n |
| 참고 항목 | |
call_for_each,invoke_for_each_value,magic_for_each_value,{{#invoke:for loop}},{{for loop}} | |
- 짧은.
- 호출자 템플릿에 전달된 각 매개 변수에 대해 하나 이상의 매개 변수(즉, 매개 변수 값)가 있는 사용자 지정 템플릿을 호출합니다.
- 구문
{{#invoke:params call_for_each_value template name [append 1] [append 2] [...] [append n] [named param 1=value 1] [...] [named param n=value n] [...]}}
그sequential수식어는 일반적으로 이 함수와 함께 제공됩니다.템플릿 이름 뒤에 오는 명명되지 않은 모든 매개 변수는 값 매개 변수 뒤에 추가됩니다.명명된 매개 변수는 말 그대로 전달됩니다.머리글(h), 반복 구분 기호(i), 바닥글(f) 및 폴백 텍스트(n)를 통해 선언할 수 있습니다.settingmodifier – 키-값 쌍 구분 기호에 할당된 문자열(p)이 무시됩니다.
예를 들어, 각 매개 변수를 사용하여 {tl}}을(를) 호출할 수 있습니다.
{{#params:params 순차 설정 i, call_for_each_value tl}}이것은 쓰는 것과 다를 것입니다.
{{#params:params 순차 설정 i, for_each {{tl $@}}}첫 번째 예제에서는 각 값이 {tl}} 템플릿으로 전달되고 두 번째 예제에서는$@{tl}} 템플릿이 호출된 후 토큰이 확장됩니다.여기서 이것은 아무런 차이가 없지만, 무의미한 결과를 초래할 수 있는 몇 가지 상황이 있습니다.
참고: 템플릿 이름을 제외하고 이 함수에 전달된 모든 인수는 선행 및 후행 공백을 자르지 않습니다.call_for_each_value그러나 함수 이름 자체는 주변 공간에서 잘립니다.
invoke_for_each_value
| 인수 수 | 아디비툼 |
|---|---|
| 정렬 가능 | 네. |
| 종종 앞에 있음 | sequential |
| 관련 런타임 변수 | h,i,f,n |
| 참고 항목 | |
call_for_each_value,invoke_for_each,magic_for_each_value | |
- 짧은.
- 호출자 템플릿에 전달된 각 매개 변수에 대해 하나 이상의 인수(즉, 매개 변수 값)를 사용하여 사용자 지정 모듈 함수를 호출합니다.
- 구문
{{#invoke:params invoke_for_each_value module name module function [append 1] [append 2] [...] [append n] [named param 1=value 1] [...] [named param n=value n] [...]}}
꼭 닮음call_for_each_value그러나 템플릿을 호출하는 대신 모듈을 호출합니다.
각 값에 대한 모듈 함수 호출
{{#params:params 순차 호출_for_each_value foobar main}쓰는 것과 다를 것입니다.
{{#params:params sequential for_each {{#params:foobar main $@}}}}개첫 번째 예제에서는 각 값이 {{#invoke:foobar main} 모듈 함수로 전달되고 두 번째 예제에서는$@모듈 기능이 호출된 후 토큰이 확장됩니다.이렇게 해도 아무런 차이가 없을 수도 있지만, 터무니없는 결과를 초래할 수 있는 몇 가지 상황이 있습니다.
참고: 모듈 이름과 함수 이름을 제외하고 이 함수에 전달된 모든 인수는 선행 및 후행 공백을 자르지 않습니다.invoke_for_each_value그러나 함수 이름 자체는 주변 공간에서 잘립니다.
magic_for_each_value
| 인수 수 | 아디비툼 |
|---|---|
| 정렬 가능 | 네. |
| 종종 앞에 있음 | sequential |
| 관련 런타임 변수 | h,i,f,n |
| 참고 항목 | |
call_for_each_value,invoke_for_each_value,magic_for_each | |
- 짧은.
- 호출자 템플릿에 전달된 각 매개 변수에 대해 하나 이상의 인수(즉, 매개 변수 값)를 사용하여 마법 단어를 호출합니다.
- 구문
{{#invoke:params magic_for_each_value parser function [append 1] [append 2] [...] [append n] [named param 1=value 1] [...] [named param n=value n] [...]}}
꼭 닮음call_for_each_value템플릿 대신 파서 함수를 호출합니다.
예를 들어 템플릿에 다음 코드가 있는 경우
{{#params:params 순차 설정 ih & preloadparams%5b%5d{{=}} magic_for_each_value urlencode QUERIE}}그리고 로서 제외되었습니다.{{example template hello world àèìòù foo bar}},그{{urlencode:... QUERY}}파서 함수는 각 수신 매개 변수에 대해 첫 번째 인수로 호출되고 다음과 함께QUERY두 번째 인수로, 그리고 마지막으로 반환된 텍스트는 다음과 같이 접두사가 붙습니다.&preloadparams%5b%5d=이는 생성될 것입니다.
&preloadparams%5b%5d=hello+world&preloadparams%5b%5d=%C3%A0%C3%A8%C3%AC3%B2%C3%B9 및 프리로드 파라미터%5b%5d=foo+bar
미리 로드된 텍스트와 매개 변수가 있는 페이지를 만드는 데 사용할 수 있습니다.
참고: 마법 단어를 제외한 이 함수에 전달된 모든 인수는 선행 및 후행 공백을 자르지 않습니다.magic_for_each_value그러나 함수 이름 자체는 주변 공간에서 잘립니다.
for_each
| 인수 수 | 1 |
|---|---|
| 정렬 가능 | 네. |
| 관련 런타임 변수 | h,i,f,n |
| 참고 항목 | |
list,list_values,{{#invoke:for nowiki}},{{for nowiki}} | |
- 짧은.
- 호출자 템플릿에 전달된 각 매개 변수에 대해 모든 항목을 확장합니다.
$#그리고.$@각각 키와 값으로 주어진 텍스트 내에서. - 구문
{{#invoke:params for_each wikitext}}
예:
{{#invoke:_각 Arg 이름에 대한 매개 변수: $#, Arg 값: $@}}이 기능에서 반환된 텍스트는 더 이상 확장되지 않습니다(현재 이 모듈은expand_for_each함수)를 선택합니다.위키텍스트 확장이 필요한 경우concat_and_call들어오는 매개 변수를 {{for nowiki}} 템플릿에 모두 전파합니다.예:
{{#params:params sequential concat_and_call for nowiki [separator] <nowiki>{{i}}}은(는) {urlencode:{{1}}} 쿼리}/</nowiki>}}
참고: 이 함수에 전달된 인수는 선행 및 후행 공백을 자르지 않습니다.for_each그러나 함수 이름 자체는 주변 공간에서 잘립니다.
수식자(배관 기능)
다음은 호출자에게 돌아가는 대신 파이프로 연결될 것으로 예상되는 기능과 같은 수식어입니다.각 수식어 뒤에는 다른 수식어 또는 비배관 함수가 뒤따를 수 있습니다.
sequential
| 인수 수 | 0 |
|---|---|
| 반복 가능 | 아니요. |
| 와의 충돌 | non-sequential,all_sorted |
| 참고 항목 | |
non-sequential,all_sorted,squeezing | |
- 짧은.
- 파라미터 목록을 1= 뒤에 이어지는 연속 파라미터의 서브그룹으로 줄입니다.
- 구문
{{#invoke:params sequential pipe function name}}
예:
{{#params:params 순차 카운트}}이 한정자는 뒤에 오는 함수의 이름 이외의 인수를 사용하지 않습니다.
사용.sequential와 함께non-sequential오류가 발생합니다.
참고: 좋아요non-sequential,그sequentialmodifier는 쿼리를 영구적으로 표시합니다.예를 들어 글을 쓰는 것은{{#invoke:params sequential with_name_not_matching 1 ...}}먼저 쿼리를 "순차적"으로 표시한 다음 시퀀스에서 첫 번째 요소를 삭제합니다(다른 요소는 그대로 유지).따라서 다른 매개 변수가 얼마나 많든 간에 아무것도 표시되지 않습니다.
non-sequential
| 인수 수 | 0 |
|---|---|
| 반복 가능 | 아니요. |
| 와의 충돌 | sequential |
| 참고 항목 | |
sequential,all_sorted | |
- 짧은.
- 1= 뒤에 이어지는 연속된 파라미터의 부분군을 삭제하여 파라미터 목록을 줄입니다.
- 구문
{{#invoke:params non-sequential pipe function name}}
예:
{{#params: 비순차 설정 ih/p {{!{{=}} 목록}이 한정자는 뒤에 오는 함수의 이름 이외의 인수를 사용하지 않습니다.
사용.non-sequential와 함께sequential오류가 발생합니다.
참고: 좋아요sequential,그non-sequential수식자는 쿼리를 영구적으로 표시하며, 어떤 변환이 뒤따를지에 관계없이 표시합니다( 참조).squeezing) 파라미터의 "시퀀스"는 표시되지 않습니다.
all_sorted
| 인수 수 | 0 |
|---|---|
| 반복 가능 | 아니요. |
| 와의 충돌 | sequential |
| 에 영향을 미치지 않음 | count,value_of,concat_and_call,concat_and_invoke |
| 참고 항목 | |
sequential | |
- 짧은.
- 시간이 되면 모든 매개 변수가 정렬됩니다. 먼저 숫자로 정렬된 다음 나머지 매개 변수는 알파벳 순서로 정렬됩니다.
- 구문
{{#invoke:params all_sorted pipe function name}}
예:
{{#params all_params 설정 ih/p {{!{{=}} 목록}이 한정자는 뒤에 오는 함수의 이름 이외의 인수를 사용하지 않습니다.
일반적으로 순차적 파라미터만 정렬된 상태로 디스패치되며, 비순차적 파라미터는 랜덤하게 디스패치됩니다.all_sorted수식자를 사용하면 (통계적) 순서에서 제외되는 항목이 없음을 확인할 수 있습니다.이름이 음수인 매개 변수가 먼저 표시된다는 점에 주의해야 합니다.이를 방지하기 위해squeezing수식어를 [1]사용할 수 있습니다.
그all_sorted수식어는 매개 변수가 표시되는 방식에만 영향을 미치지만 다음과 같이 반복되지 않거나 순서를 부과할 수 없는 함수에는 영향을 주지 않습니다.
참고: Theall_sorted수식어는 단일 호출에서 여러 매개 변수를 함께 전파하는 함수와 함께 사용할 수 없습니다.concat_and_call그리고.concat_and_invoke호출 중에는 항상 인수 순서가 손실되기 때문입니다.동일한 이유로 템플릿이 호출된 명명된 매개 변수의 순서를 추측할 수 없습니다.
setting
| 인수 수 | 2-6(표준) | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| 반복 가능 | 네. | ||||||||||
| 메모리 슬롯 | |||||||||||
| |||||||||||
- 짧은.
- 접착제 문자열 정의
- 구문
{{#invoke:params setting directives ... pipe function name}}
이 수식어를 사용하면 다른 함수에서 사용할 일부 내부 변수를 설정할 수 있습니다.첫 번째 인수에 의존하여 읽을 다른 인수의 수를 이해하는 데는 변수 개수의 인수가 필요합니다.몇 가지 예는 단어보다 더 잘 소개될 것입니다.
{{#invoke:params setting i {{!}} list_values}}- 반복 구분 기호 값을 다음으로 설정합니다.
그런 다음 모든 값을 나열합니다.
- 반복 구분 기호 값을 다음으로 설정합니다.
{{#invoke:params setting ih {{!}} list_values}}- 헤더 텍스트와 반복 구분 기호의 값을 다음으로 설정합니다.
그런 다음 모든 값을 나열합니다.
- 헤더 텍스트와 반복 구분 기호의 값을 다음으로 설정합니다.
{{#invoke:params setting ih/p {{!}} {{=}} list}}- 헤더 텍스트와 반복 구분 기호의 값을 다음으로 설정합니다.
키-값 쌍 구분 기호 설정=그런 다음 모든 매개 변수를 나열합니다.
- 헤더 텍스트와 반복 구분 기호의 값을 다음으로 설정합니다.
{{#invoke:params setting ih/p/n {{!}} {{=}} No parameters were passed list}}- 헤더 텍스트와 반복 구분 기호의 값을 다음으로 설정합니다.
키-값 쌍 구분 기호 설정=예비 텍스트 설정No parameters were passed그런 다음 모든 매개 변수를 나열합니다.
- 헤더 텍스트와 반복 구분 기호의 값을 다음으로 설정합니다.
첫 번째 인수는 할당할 슬롯 목록의 슬래시로 구분된 목록입니다. 슬롯 하나는 정확히 하나의 문자로 참조되고 각 슬롯 목록은 정확히 하나의 인수를 매핑합니다.슬롯은 설정할 내부 변수를 나타냅니다.동일한 슬래시로 구분된 목록 내에 둘 이상의 슬롯이 집계된 경우 동일한 텍스트가 둘 이상의 변수에 할당됩니다.
사용 가능한 슬롯은 다음과 같습니다.
| 슬롯 | 변수 | 묘사 |
|---|---|---|
i | 반복 구분 기호 | 각 반복 사이에 배치할 텍스트 문자열. 표시할 매개 변수가 둘 이상 없는 한 절대 삽입되지 않습니다. |
p | 키-값 쌍 구분 기호 | 각 매개 변수 이름과 값 사이에 배치할 텍스트 문자열. 값 사이에 반복되는 함수나 키-값 쌍을 외부 호출로 전달하는 함수에 의해 삽입되지 않습니다. |
h | 머리글 텍스트 | 반복이 시작되기 전에 배치될 텍스트 문자열. 표시할 매개 변수가 없는 경우 인쇄됩니다. |
f | 바닥글 텍스트 | 반복이 끝난 후 배치될 텍스트 문자열. 표시할 매개 변수가 없는 경우에는 삽입되지 않습니다. |
n | 폴백 텍스트 | 표시할 매개 변수가 없는 경우 배치될 텍스트 문자열입니다. |
이론적으로, 한 번에 다른 슬롯을 할당하는 대신(즉,{{... setting ih/p {{!}} {{=}} ...}}), 의 별도 호출을 작성할 수 있습니다.setting각 변수에 대해, 예를 들어{{... setting ih {{!}} setting p {{=}}...}}이 방법은 효율성이 약간 떨어집니다.
squeezing
| 인수 수 | 0 |
|---|---|
| 반복 가능 | 네. |
| 참고 항목 | |
sequential | |
- 짧은.
- 숫자 이름을 가진 모든 매개 변수를 다시 정렬하여 1부터 시작하여 동일한 순서로 압축 시퀀스를 형성합니다.
- 구문
{{#invoke:params squeezing pipe function name}}
예:
{{#params:params 짜내기 순차 설정 i/p <br /> : list}이 한정자는 뒤에 오는 함수의 이름 이외의 인수를 사용하지 않습니다.
다음과 같은 세 가지 연결을 사용하면 숫자 이름을 가진 모든 매개 변수를 삭제하는 것과 같은 결과를 얻을 수 있습니다.
{{... non-sequential squeezing ...}}{{... squeezing non-sequential ...}}{{... with_name_not_matching ^%-?%d+$ ...}}
cutting
| 인수 수 | 2 |
|---|---|
| 반복 가능 | 네. |
| 참고 항목 | |
sequential,squeezing | |
- 짧은.
- 매개 변수 목록의 시작과 끝에서 0개 이상의 매개 변수 제거
- 구문
{{#invoke:params cutting left trim right trim pipe function name}}
첫 번째 인수는 매개 변수 목록의 시작 부분에서 제거해야 하는 순차적 매개 변수의 수를 나타내며, 두 번째 인수는 매개 변수 목록의 끝 부분에서 제거해야 하는 순차적 매개 변수의 수를 나타냅니다.두 인수 중 하나가 음수이면 절대값은 다른 쪽에 남겨야 하는 것을 나타냅니다.{{#invoke:params cutting -3 0 list}}마지막 세 개의 인수를 삭제해서는 안 된다는 것을 나타냅니다.
예:
{{#balue:params cutting 02 sequential call_for_each_value 예제 템플릿}두 인수의 합(왼쪽 및 오른쪽 절단)의 절대값이 사용 가능한 순차적 매개변수 수보다 클 경우, 동작은 양의 값일 때와 음의 값일 때 모두 사용 가능한 순차적 매개변수 수보다 동일하게 됩니다.원하는 순차적 매개 변수가 삭제되면 모든 숫자 매개 변수가 그에 따라 이동됩니다.
경우에 따라 두 번 이상의 호출을 연결해야 할 수 있습니다.cutting기능.예를 들어, 다음과 같습니다. cutting 1 0 cutting -1 0다음 가상의 코드{{Foobar see also}}두 개 이상의 페이지 이름이 제공될 때 "and" 연결과 가능하면 옥스포드 쉼표를 올바르게 표시하기 위한 템플릿:
{{altphrase Foo bar도 참조}}: {{#if:{{1}}[{{{1}}}]{{#filename:params 순차적 압착 절단 11 설정 ih, _각 [[@]]]에 대한 트리밍_값 {{#filename:params 순차적 압착 절단 10 절단 -10 설정 h {{#filename:f}:{{3}},}}, {} 및 트리밍_값_각 [[$@]]} {{{tl Foobar 참조}}에 대한 {{tl Foobar}의 페이지 이름을 하나 이상 입력해야 합니다.}} }}
제안:비록 ~일지라도{{#invoke:params cutting -1 1 ...}}사실상 모든 순차적 매개 변수를 제거합니다. 쓰는 것이 더 명확하고 관용적입니다.{{#invoke:params non-sequential ...}}동일한 효과를 얻기 위해.쓰기{{#invoke:params sequential cutting -1 1 ...}}표시할 인수가 없습니다.
with_name_matching
| 인수 수 | 아디비툼 |
|---|---|
| 반복 가능 | 네. |
| 참고 항목 | |
with_name_not_matching,with_value_matching,with_value_not_matching | |
- 짧은.
- 이름이 지정된 모든 패턴과 일치하지 않는 모든 매개 변수 삭제
- 구문
{{#invoke:params with_name_matching pattern 1 [plain flag 1] [or] [pattern 2] [plain flag 2] [or] [...] [pattern N] [plain flag N] pipe function name}}
내부적으로 이 수식어는 Lua의string.find()매개 변수 이름이 주어진 패턴과 일치하는지 여부를 찾는 함수입니다. 따라서 대상 문자열이 다음으로 설정되지 않은 경우plainLua 패턴의 동일한 구문을 사용하십시오.플레인 플래그는 다음 중 하나일 수 있습니다.plain또는 생략.생략할 경우 대상 문자열이 Lua 패턴이라고 가정합니다.
논리적 OR을 표현하는 방법or키워드를 사용할 수 있습니다.대신 논리적 AND를 표현하려면 다음의 호출을 더 연결합니다.with_name_matching.
논쟁을 위해 우리는 우리가 호출한다고 상상할 것입니다.with_name_matching{{Infox artery}} 템플릿 내에서 다음 매개 변수를 사용하여 호출됩니다.
이름 = 폐동맥
라틴어 = 폐동맥류, 폐동맥류
이미지 = {{Heart diagram 250pcs}}
Caption = 열린 심장의 앞쪽(아래) 보기. (폐동맥 오른쪽 위)
이미지 2 = Alveoli diagram.png
Caption2 = 단면도와 외부도가 모두 있는 폐포의 다이어그램.
= [우심실]에서 분기
= 지점
정맥 = [[정맥]]
전구물질 = 동맥관(truncus arteriosus)
준비물 =
}}
테스트 사례:
- 이름이 에 일치하는 매개 변수만 나열합니다.
^Image패턴:- ↳
{{#invoke:params setting ih/p {{!}} {{=}} with_name_matching ^Image list}}- 이미지 = 이미지심장 다이어그램 250px}}} 이미지2=Alveoli 다이어그램.png
- ↳
- 두 패턴 모두에 대해 이름이 일치하는 매개 변수 나열
^Image그리고.%d+$:- ↳
{{#invoke:params setting ih/p {{!}} {{=}} with_name_matching ^Image with_name_matching %d+$ list}}- 이미지2=Alveoli 다이어그램.png
- ↳
- 이름이 다음 중 하나와 일치하는 매개 변수를 나열합니다.
^Name또는^Latin$패턴:- ↳
{{#invoke:params setting ih/p {{!}} {{=}} with_name_matching ^Name$ or ^Latin$ list}}- Latin=truncus pulmonalis, arteria pulmonalis Name=동맥
- ↳
- 이름이 다음 중 하나와 일치하는 매개 변수를 나열합니다.
ma플레인 스트링 또는me$패턴:- ↳
{{#invoke:params setting ih/p {{!}} {{=}} with_name_matching ma plain or me$ list}}- 이미지 = 이미지심장 다이어그램 250pxpulmonary}}명=대동맥 이미지2=Alveoli 다이어그램.png
- ↳
참고: 이 함수에 전달된 패턴 인수는 선행 및 후행 공백을 자르지 않습니다.or그리고.plain키워드, 그리고with_name_matching그러나 함수 이름 자체는 주변 공간에서 잘립니다.
with_name_not_matching
| 인수 수 | 아디비툼 |
|---|---|
| 반복 가능 | 네. |
| 참고 항목 | |
with_name_matching,with_value_matching,with_value_not_matching | |
- 짧은.
- 이름이 지정된 모든 패턴과 일치하는 모든 매개 변수 삭제
- 구문
{{#invoke:params with_name_not_matching pattern 1 [plain flag 1] [and] [pattern 2] [plain flag 2] [and] [...] [pattern N] [plain flag N] pipe function name}}
내부적으로 이 수식어는 Lua의string.find()매개 변수 이름이 주어진 패턴과 일치하는지 여부를 찾는 함수입니다. 따라서 대상 문자열이 다음으로 설정되지 않은 경우plainLua 패턴의 동일한 구문을 사용하십시오.플레인 플래그는 다음 중 하나일 수 있습니다.plain또는 생략.생략할 경우 대상 문자열이 Lua 패턴이라고 가정합니다.
논리적 OR을 표현하는 방법or키워드를 사용할 수 있습니다.대신 논리적 AND를 표현하려면 다음의 호출을 더 연결합니다.with_name_not_matching.
논쟁을 위해 우리는 우리가 호출한다고 상상할 것입니다.with_name_not_matching{{Infox artery}} 템플릿 내에서, 그리고 이것은 우리가 이전 예에서 상상했던 것과 동일한 매개 변수를 사용하여 초월되고 있습니다.with_name_matching:
- 이름이 다음과 일치하지 않는 매개 변수만 나열합니다.
a패턴:{{#invoke:params setting ih/p {{!}} {{=}} with_name_not_matching a list}}- 전구체=동맥류용품=정맥=정맥
- 이름이 다음과 일치하지 않는 매개 변수 나열
a일반 문자열 및 에 대해 일치하지 않음l일반 문자열 중 하나:{{#invoke:params setting ih/p {{!}} {{=}} with_name_not_matching a plain with_name_not_matching l plain list}}- 전구체=동맥류정맥=동맥류정맥
- 이름이 다음 중 하나와 일치하지 않는 매개 변수를 나열합니다.
a플레인 스트링 또는n일반 문자열:{{#invoke:params setting ih/p {{!}} {{=}} with_name_not_matching a plain or n plain list}}- 전구체=동맥류 소모품=이미지=내장심장 다이어그램 250pxpulmonary}}명=대동맥 이미지2=Alveoli diagram.png Vein=정맥
이 기능을 사용하여 알 수 없는 파라미터를 확인할 수 있습니다.
{{#ifexpr:{{#params: _name_not_not_not_not_not_not_wind$ count}개의 _name_not_not_not_not_not_wind$가 포함된 params$오류 오류 오류:허용되는 매개 변수는 {{para hello}} 및 {{para wind}뿐입니다.모든 것이 좋습니다: 무언가를 하세요 }}그러나 이와 같은 간단한 경우에는 특수 모듈을 사용할 수 있으며, 다음을 살펴볼 수도 있습니다.
- {{#선택사항:알 수 없는 매개 변수 확인}}
- {{#선택사항:사용되지 않는 매개변수 확인}을(를) 확인하십시오.
- {{#선택사항:클로버 매개 변수 확인}}
- {{#선택사항:매개 변수 유효성 검사 매개 변수}
- {{#선택사항:템플릿Parvalid}}
참고: 이 함수에 전달된 패턴 인수는 선행 및 후행 공백을 자르지 않습니다.or그리고.plain키워드, 그리고with_name_not_matching그러나 함수 이름 자체는 주변 공간에서 잘립니다.
with_value_matching
| 인수 수 | 아디비툼 |
|---|---|
| 반복 가능 | 네. |
| 참고 항목 | |
with_name_matching,with_name_not_matching,with_value_not_matching | |
- 짧은.
- 값이 지정된 모든 패턴과 일치하지 않는 모든 매개 변수 삭제
- 구문
{{#invoke:params with_value_matching pattern 1 [plain flag 1] [or] [pattern 2] [plain flag 2] [or] [...] [pattern N] [plain flag N] pipe function name}}
꼭 닮음with_name_matching이름 대신 매개 변수 값에 적용됩니다.
내부적으로 이 수식어는 Lua의string.find()매개 변수 이름이 주어진 패턴과 일치하는지 여부를 찾는 함수입니다. 따라서 대상 문자열이 다음으로 설정되지 않은 경우plainLua 패턴의 동일한 구문을 사용하십시오.플레인 플래그는 다음 중 하나일 수 있습니다.plain또는 생략.생략할 경우 대상 문자열이 Lua 패턴이라고 가정합니다.
예:
{{#params:_value_value_banana count}개의 파라미터
참고: 이 함수에 전달된 패턴 인수는 선행 및 후행 공백을 자르지 않습니다.or그리고.plain키워드, 그리고with_value_matching그러나 함수 이름 자체는 주변 공간에서 잘립니다.
with_value_not_matching
| 인수 수 | 아디비툼 |
|---|---|
| 반복 가능 | 네. |
| 참고 항목 | |
with_name_matching,with_name_not_matching,with_value_matching | |
- 짧은.
- 값이 지정된 모든 패턴과 일치하는 모든 매개 변수 삭제
- 구문
{{#invoke:params with_value_not_matching pattern 1 [plain flag 1] [and] [pattern 2] [plain flag 2] [and] [...] [pattern N] [plain flag N] pipe function name}}
꼭 닮음with_name_not_matching이름 대신 매개 변수 값에 적용됩니다.
내부적으로 이 수식어는 Lua의string.find()매개 변수 이름이 주어진 패턴과 일치하는지 여부를 찾는 함수입니다. 따라서 대상 문자열이 다음으로 설정되지 않은 경우plainLua 패턴의 동일한 구문을 사용하십시오.플레인 플래그는 다음 중 하나일 수 있습니다.plain또는 생략.생략할 경우 대상 문자열이 Lua 패턴이라고 가정합니다.
예를 들어, 전화하기 전에list다음 코드는 모든 빈 매개 변수(즉, 값이 0개 이상의 공백만 포함하는 매개 변수)를 제거합니다.
{{#params}: _value_not_not_params ^%s*$ 설정 hi/p {{!{{=}} 목록}
참고: 이 함수에 전달된 패턴 인수는 선행 및 후행 공백을 자르지 않습니다.or그리고.plain키워드, 그리고with_value_not_matching그러나 함수 이름 자체는 주변 공간에서 잘립니다.
trimming_values
| 인수 수 | 0 |
|---|---|
| 반복 가능 | 아니요. |
- 짧은.
- 값에서 선행 및 후행 공백 제거
- 구문
{{#invoke:params trimming_values pipe function name}}
이 한정자는 뒤에 오는 함수의 이름 이외의 인수를 사용하지 않습니다.
대부분의 수정자는 순서에 따라 다르므로 배치trimming_values다른 위치에서 다른 결과를 생성할 수 있습니다.예를 들어, 우리의 상상.{{Example template}}다음과 같은 공백 인수로 호출됩니다.{{Example template wanna be my friend ? }},한다면{{Example template}}다음 코드를 포함했습니다.
{{#params:_value_params %s+$ 트리밍_values 설정 i/p {{!{{=}} 목록}다음 텍스트가 인쇄됩니다.1=wanna 2=be 3=my 4=friend 5=?하지만 만약 그 대신에 다음과 같은 코드가 들어있다면,
{{#params:_value_value를 사용한 params 트리밍_values %s+$ 설정 i/p {{!{{=}} 목록}인수가 표시되지 않습니다.
순서는 성능에도 영향을 미치며, 선행 및 후행 공간에서 잘라낼 값의 수는 위치에 따라 달라집니다.trimming_values배치됩니다.예를 들어, 50개의 매개 변수와 코드가 포함된 템플릿이 호출된 경우{{#invoke:params trimming_values cutting -1 0 list}}먼저 모든 값을 선행 및 후행 공백으로 잘라낸 다음 처음 49개의 매개 변수를 삭제합니다.반면에, 글쓰기는{{#invoke:params cutting -1 0 trimming_values list}}49개의 매개 변수를 먼저 폐기한 다음 남은 유일한 값을 트리밍하여 보다 효율적인 코드를 생성합니다.일반적으로, 배치trimming_values항상 마지막 수식어가 최선의 선택이기 때문입니다.
배치trimming_values와 함께non-sequential비순차 매개 변수는 기본적으로 선행 및 후행 공백이 제거되므로 효과가 없는 빈 호출이 발생합니다.
사용.trimming_values이 모듈은 많은 Wikipedia 모듈처럼 동작합니다.예를 들어 {{#invoke}를 에뮬레이트하려면 다음을 수행합니다.구분된 항목 main}, 쓰기
{{#invoke:params 순차적 압착 트리밍_values 설정 iXXX list_values}글을 쓰는 것과 같을 것입니다.
{{#별도: 구분된 항목 주 구분자=XXXX}}반면에 글은
{{1}}}}{{#invoke:params 순차적 압착 절삭 11 트리밍_값 설정 ih XXX 리스트_값}{{#invoke:params 순차적 압착 절삭 10 컷팅 -10 트리밍_값 설정 hYYY 값_1}쓰는 것과 같을 것입니다.
{{#backets}: 구분된 항목 주 구분 기호=XXXX 연결 기호=YYYY}}메모들
- ^ 정확하게 말하면, 이 순서는 다음 매개 변수로 호출된 템플릿을 의미하기 때문에 엄격하게 알파벳 순서가 아닙니다.
{{foobar -4=you 9=wanna .=me? 11=marry -8=do}}다음과 같이 정렬됩니다.{{foobar -8=do -4=you .=me? 9=wanna 11=marry}}(음과 양의 숫자 사이에 점이 있는 경우).이를 방지하기 위해 항상 숫자가 먼저 표시됩니다(예:{{foobar -8=do -4=you 9=wanna 11=marry .=me?}}).
참고 항목
--- --- 로컬 환경 --- --- ________________________________ --- --- --- 사용자가 지정한 특수 키워드(함수 및 한정자는 이러한 이름을 사용하지 않아야 함 현지의 키워드 = { ['false'] = 거짓, ['''비공식'''] = 진실의, ['또는'] = 0 } 지시어 설정 현지의 메모리 슬롯 = { i = '이터스프', p = '''dissep''', h = '''비공식''', f = '''비공식''', n = '주어진다면' } 개인 함수 테이블 현지의 도서관 = {} 테이블에 복사본 또는 참조 반환 현지의 기능. copy_or_ref_table(src, 리필 전용의) 한다면 리필 전용의 그리고나서 돌아가다 src 끝. 새 탭 = {} 위해서 열쇠, 발 에 쌍들(src) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 새 탭[열쇠] = 발 끝. 돌아가다 새 탭 끝. 컨텍스트 준비 현지의 기능. context_init(틀, funcname, 레프파이프, 리팜파밍) 현지의 ctx = {} ctx.반복적인 = 쌍들 ctx.피리를 = copy_or_ref_table(틀.논병아리, 레프파이프) ctx.틀 = 틀:상위 항목 가져오기() ctx.유모차 = copy_or_ref_table(ctx.틀.논병아리, 리팜파밍) 돌아가다 funcname(ctx) 끝. 사용자가 지정한 목록 내에서 다음 작업으로 이동 현지의 기능. context_reate(ctx, n_앞으로) 현지의 다음 fn 한다면 ctx.피리를[n_앞으로] ~= 영의 그리고나서 다음 fn = ctx.피리를[n_앞으로]:경기'^%s*(*.%S)' 끝. 한다면 다음 fn == 영의 그리고나서 오류('함수 이름이 지정되지 않았습니다.', 0) 끝. 한다면 도서관[다음 fn] == 영의 그리고나서 오류('기능' .. 다음 fn .. 존재하지 않음', 0) 끝. 위해서 idx = n_앞으로, 1, -1 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 테이블.제거(ctx.피리를, idx) 끝. 돌아가다 도서관[다음 fn](ctx) 끝. 파라미터 테이블의 숫자 키를 숫자 키로 연결합니다. 옵션 표의 키, 옵션 표의 비선택적 키 매개 변수 표에서 충돌하는 비충돌 키보다 우선합니다. 현지의 기능. concat_params(ctx) 현지의 교대로 = 테이블.최대의(ctx.피리를) 현지의 새 주장 = {} 한다면 ctx.부분 집합 == 1 그리고나서 우리는 오직 순서만 필요합니다. 위해서 열쇠, 발 에 짝을 짓다(ctx.유모차) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 새 주장[열쇠 + 교대로] = 발 끝. 또 다른 한다면 ctx.부분 집합 == -1 그리고나서 위해서 열쇠, 발 에 짝을 짓다(ctx.유모차) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 ctx.유모차[열쇠] = 영의 끝. 끝. 위해서 열쇠, 발 에 쌍들(ctx.유모차) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 한다면 유형(열쇠) == '숫자' 그리고나서 새 주장[열쇠 + 교대로] = 발 또 다른 새 주장[열쇠] = 발 끝. 끝. 끝. 위해서 열쇠, 발 에 쌍들(ctx.피리를) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 새 주장[열쇠] = 발 끝. 돌아가다 새 주장 끝. 현지의 기능. do_for_each_param(ctx, 에프앤) 현지의 티블 = ctx.유모차 한다면 ctx.부분 집합 == 1 그리고나서 위해서 열쇠, 발 에 짝을 짓다(티블) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 에프앤(열쇠, 발) 끝. 돌아가다 끝. 한다면 ctx.부분 집합 == -1 그리고나서 위해서 열쇠, 발 에 짝을 짓다(티블) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 티블[열쇠] = 영의 끝. 끝. 한다면 ctx.도슨트 그리고나서 현지의 숫자들 = {} 현지의 단어 = {} 위해서 열쇠, 발 에 쌍들(티블) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 한다면 유형(열쇠) == '숫자' 그리고나서 숫자들[#숫자들 + 1] = 열쇠 또 다른 단어[#단어 + 1] = 열쇠 끝. 끝. 테이블. 테이블.(숫자들) 테이블. 테이블.(단어) 위해서 idx = 1, #숫자들 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 에프앤(숫자들[idx], 티블[숫자들[idx]]) 끝. 위해서 idx = 1, #단어 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 에프앤(단어[idx], 티블[단어[idx]]) 끝. 돌아가다 끝. 한다면 ctx.부분 집합 ~= -1 그리고나서 위해서 열쇠, 발 에 짝을 짓다(티블) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 에프앤(열쇠, 발) 티블[열쇠] = 영의 끝. 끝. 위해서 열쇠, 발 에 쌍들(티블) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 에프앤(열쇠, 발) 끝. 끝. 수식어 'with_*_matching' 클래스의 인수 구문 분석 현지의 기능. parse_match_args(옵스, ptns, f name) 현지의 주 = 0 현지의 cnt = 1 현지의 키유 위해서 _, 발 에 짝을 짓다(옵스) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 한다면 주 == 0 그리고나서 ptns[#ptns + 1] = { 발, 거짓의 } 주 = -1 또 다른 키유 = 발:경기'^%s*(*.%S)' 한다면 키유 == 영의 또는 키워드[키유] == 영의 그리고나서 브레이크. 또 다른 주 = 키워드[키유] 한다면 주 ~= 0 그리고나서 ptns[#ptns][2] = 주 끝. 끝. 끝. cnt = cnt + 1 끝. 한다면 주 == 0 그리고나서 오류(f name .. 패턴이 주어지지 않았습니다.', 0) 끝. 돌아가다 cnt 끝. --[[파이프식 수식어]]-- -------------------------------- 얼굴 좀 봐요.순차적인 도서관.순차의 = 기능.(ctx) 한다면 ctx.부분 집합 == -1 그리고나서 오류('비순차적'과 '순차적' 두 지시어가 서로 모순됩니다.', 0) 끝. 한다면 ctx.도슨트 그리고나서 오류('all_sorted' 지시어 뒤에 "sequential"이 붙으면 중복됩니다., 0) 끝. ctx.반복적인 = 짝을 짓다 ctx.부분 집합 = 1 돌아가다 context_reate(ctx, 1) 끝. 면을 확인합니다['비순차']() 도서관['비순차'] = 기능.(ctx) 한다면 ctx.부분 집합 == 1 그리고나서 오류('순차적'과 '비순차적' 두 지시어가 서로 모순됩니다.', 0) 끝. ctx.반복적인 = 쌍들 ctx.부분 집합 = -1 돌아가다 context_reate(ctx, 1) 끝. 얼굴 좀 봐요.올_알_알-알-알-알-알-알-알-알. 도서관.만사형통의 = 기능.(ctx) 한다면 ctx.부분 집합 == 1 그리고나서 오류('all_sorted' 지시어는 "sequential" 뒤에 중복됩니다., 0) 끝. ctx.도슨트 = 진실의 돌아가다 context_reate(ctx, 1) 끝. 얼굴 좀 봐요.세팅() 도서관.세팅 = 기능.(ctx) 현지의 옵스 = ctx.피리를 현지의 cmd 한다면 옵스[1] ~= 영의 그리고나서 cmd = 옵스[1]:gsub('%s+', ''):gsub('/+', '/'):경기'^/*(.*[^/])' 끝. 한다면 cmd == 영의 그리고나서 오류('설정:지시가 주어지지 않았습니다.', 0) 끝. 현지의 셉 = string.바이트('/') 현지의 호형의 = 2 현지의 증류 = {} 현지의 vname 현지의 크크 위해서 idx = 1, #cmd 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 크크 = cmd:바이트(idx) 한다면 크크 == 셉 그리고나서 위해서 열쇠, 발 에 짝을 짓다(증류) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 ctx[발] = 옵스[호형의] 증류[열쇠] = 영의 끝. 호형의 = 호형의 + 1 또 다른 vname = 메모리 슬롯[string.char(크크)] 한다면 vname == 영의 그리고나서 오류('설정:알 수 없는 슬롯 " .. string.char(크크) .. '"', 0) 끝. 표.삽입(증류, vname) 끝. 끝. 위해서 열쇠, 발 에 짝을 짓다(증류) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 ctx[발] = 옵스[호형의] 끝. 돌아가다 context_reate(ctx, 호형의 + 1) 끝. 얼굴 좀 봐요.쥐어짜는 도서관.쥐어짜는 = 기능.(ctx) 현지의 티블 = ctx.유모차 현지의 가게 = {} 현지의 색인 = {} 위해서 열쇠, 발 에 쌍들(티블) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 한다면 유형(열쇠) == '숫자' 그리고나서 색인[#색인 + 1] = 열쇠 가게[열쇠] = 발 티블[열쇠] = 영의 끝. 끝. 테이블. 테이블.(색인) 위해서 idx = 1, #색인 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 티블[idx] = 가게[색인[idx]] 끝. 돌아가다 context_reate(ctx, 1) 끝. iface.cuting()을 확인합니다. 도서관.자르기 = 기능.(ctx) 현지의 이컷 = 수에 달하여(ctx.피리를[1]) 한다면 이컷 == 영의 그리고나서 오류('컷팅: 왼쪽 컷은 숫자여야 합니다.', 0) 끝. 현지의 r컷 = 수에 달하여(ctx.피리를[2]) 한다면 r컷 == 영의 그리고나서 오류('컷팅:오른쪽 절단은 숫자여야 합니다.', 0) 끝. 현지의 티블 = ctx.유모차 현지의 렌 = #티블 한다면 이컷 < 0 그리고나서 이컷 = 렌 + 이컷 끝. 한다면 r컷 < 0 그리고나서 r컷 = 렌 + r컷 끝. 현지의 토트 = 이컷 + r컷 한다면 토트 > 0 그리고나서 현지의 캐시 = {} 한다면 토트 >= 렌 그리고나서 위해서 열쇠, 발 에 짝을 짓다(티블) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 티블[열쇠] = 영의 끝. 토트 = 렌 또 다른 위해서 idx = 렌 - r컷 + 1, 렌, 1 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 티블[idx] = 영의 끝. 위해서 idx = 1, 이컷, 1 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 티블[idx] = 영의 끝. 끝. 위해서 열쇠, 발 에 쌍들(티블) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 한다면 유형(열쇠) == '숫자' 그리고. 열쇠 > 0 그리고나서 한다면 열쇠 > 렌 그리고나서 캐시[열쇠 - 토트] = 발 또 다른 캐시[열쇠 - 이컷] = 발 끝. 티블[열쇠] = 영의 끝. 끝. 위해서 열쇠, 발 에 쌍들(캐시) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 티블[열쇠] = 발 끝. 끝. 돌아가다 context_reate(ctx, 3) 끝. 얼굴 좀 봐요._name_buffer와 함께 도서관.이름_이름_이름_이름과 함께 = 기능.(ctx) 현지의 티블 = ctx.유모차 현지의 패턴 = {} 현지의 호형의 = parse_match_args(ctx.피리를, 패턴, 'with_name_message') 현지의 비길 데 없는 위해서 열쇠 에 쌍들(티블) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 비길 데 없는 = 진실의 위해서 _, ptn 에 짝을 짓다(패턴) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 한다면 줄을 대다(열쇠, ptn[1], 1, ptn[2]) 그리고나서 비길 데 없는 = 거짓의 브레이크. 끝. 끝. 한다면 비길 데 없는 그리고나서 티블[열쇠] = 영의 끝. 끝. 돌아가다 context_reate(ctx, 호형의) 끝. 얼굴 좀 봐요._name_not_not_not_message와 함께 도서관._name_not_not_not_not_not_ = 기능.(ctx) 현지의 티블 = ctx.유모차 현지의 패턴 = {} 현지의 호형의 = parse_match_args(ctx.피리를, 패턴, 'with_name_not_not_message') 현지의 예스매치 위해서 열쇠 에 쌍들(티블) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 예스매치 = 진실의 위해서 _, ptn 에 짝을 짓다(패턴) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 한다면 것은 아니다. 줄을 대다(열쇠, ptn[1], 1, ptn[2]) 그리고나서 예스매치 = 거짓의 브레이크. 끝. 끝. 한다면 예스매치 그리고나서 티블[열쇠] = 영의 끝. 끝. 돌아가다 context_reate(ctx, 호형의) 끝. 얼굴 좀 봐요._value_bullet과 함께 도서관.value_filename과 함께 = 기능.(ctx) 현지의 티블 = ctx.유모차 현지의 패턴 = {} 현지의 호형의 = parse_match_args(ctx.피리를, 패턴, 'with_value_value_message') 현지의 비길 데 없는 위해서 열쇠, 발 에 쌍들(티블) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 비길 데 없는 = 진실의 위해서 _, ptn 에 짝을 짓다(패턴) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 한다면 줄을 대다(발, ptn[1], 1, ptn[2]) 그리고나서 비길 데 없는 = 거짓의 브레이크. 끝. 끝. 한다면 비길 데 없는 그리고나서 티블[열쇠] = 영의 끝. 끝. 돌아가다 context_reate(ctx, 호형의) 끝. 얼굴 좀 봐요._value_not_not_message를 사용하여 도서관._value_not_not_message를 사용하여 = 기능.(ctx) 현지의 티블 = ctx.유모차 현지의 패턴 = {} 현지의 호형의 = parse_match_args(ctx.피리를, 패턴, 'with_value_not_not_message') 현지의 예스매치 위해서 열쇠, 발 에 쌍들(티블) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 예스매치 = 진실의 위해서 _, ptn 에 짝을 짓다(패턴) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 한다면 것은 아니다. 줄을 대다(발, ptn[1], 1, ptn[2]) 그리고나서 예스매치 = 거짓의 브레이크. 끝. 끝. 한다면 예스매치 그리고나서 티블[열쇠] = 영의 끝. 끝. 돌아가다 context_reate(ctx, 호형의) 끝. iface.trimming_values() 확인합니다. 도서관.트리밍_값 = 기능.(ctx) 현지의 티블 = ctx.유모차 위해서 열쇠, 발 에 쌍들(티블) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 티블[열쇠] = 발:경기'^%s*(.)%s*