모듈 토크:템플릿 호출

Module talk

Lua 오류: 문자열과 숫자를 비교하려고 했습니다.

템플릿:툴바/테스트케이스템플릿:3x/테스트케이스 테스트케이스가 실패하고 다음 역추적이 발생합니다.

역추적: [C]: 함수 "구분" 모듈:Template_invocation: 107: ?(테일콜): ?모듈:Template_test_case: 140: 함수 "getInvocation" 모듈:Template_test_case:642: 함수 "?" 모듈:Template_test_case: 663: ?[C]: 함수 "토스트링" 모듈:Template_test_case: 786: ? (테일콜): ?mw.lua:518: ?[C]:

이 문제는 템플릿 호출이 원인인 것 같습니다.여기서 위치 파라미터는{{=}}하나 이상의 명명된 매개 변수가 있습니다.추가했습니다.test14_equals_sign_parameter모듈:이 문제를 설명하기 위한 템플릿 테스트 케이스/테스트 케이스- Andrybak (대화) 2020년 5월 19일 (UTC)응답[응답]

이 모듈의 기능이나 사용 방법에 대해서는 아직 조사하지 않았지만, 에러의 원인은 간단합니다.라인 104의 루프는 쌍(invArgs)을 사용하여 각 키(파라미터명)를 invArgs_list 배열에 넣는다.여기에는 첫 번째 이름 없는 파라미터가 입력된 경우 1과 같은 숫자와 이름 있는 파라미터의 이름과 같은 문자열이 포함됩니다.회선 107은 숫자와 문자열의 혼합을 정렬할 수 없기 때문에 실패합니다.누군가가 모듈이 그 시점에서 무엇을 하고 싶은지(파라미터 이름을 정렬하는 이유는 무엇입니까)를 파악하여 번호가 매겨진 파라미터에 대해 어떻게 해야 하는지를 결정해야 합니다.생략하거나 문자열로 변환해야 합니다.또는 사용자 지정 정렬 루틴을 추가하여 문자열 앞에 숫자를 배치합니다.이 구현에 도움이 필요한 경우 원하는 항목을 결정한 후 PING을 실행합니다.Johnuniq (대화) 2020년 5월 19일 23:39 (UTC)응답[응답]
95번 줄의 Johnuniq에서 모듈은 다음과 같이 보이는 것을 추측하려고 합니다.1=foo=bar템플릿에 전달되었습니다.
::  한다면 유형(v) == '스트링' 그리고. v:발견하다('=', 1, 진실의) 그리고나서 ::   -- 1=foo=bar와 같이 이름 있는 arg로 해야 합니다. ::   브레이크. ::  끝. :: 
이 논리는 등호 왼쪽에 있는 문자가 유효한 파라미터 이름 또는 인덱스가 아닐 때 깨지는 것으로 추측됩니다.예를 들어 템플릿으로 {{=}}의 트랜슬루전처럼 두 개의 여는 물결 괄호입니다.- Andrybak (대화) 00:13, 2020년 5월 20일 (UTC)응답[응답]
아니요, 모듈이 보기 전에 {{=}}이(가) 확장됩니다.사용법을 알아보는 시간을 피하려고 했는데 나중에 볼게요.위에서 내가 제기했던 질문들은 고려해야 할 것이다.템플릿의 사용방법에 관계없이 이름 없는 파라미터와 이름 있는 파라미터가 혼재된 경우 템플릿이 중단되어서는 안 됩니다.Johnuniq (대화) 00:31, 2020년 5월 20일 (UTC)응답[응답]
조누니크, 혼란스럽게 해서 미안해 좀 더 분명히 했어야 했어제가 말하고자 하는 것은 {{=}}은 코너 케이스라는 것입니다.모듈에 이름 없는 파라미터와 이름 있는 파라미터가 혼재된 경우 기타 /testcase 페이지는 모두 파손됩니다.- Andrybak (대화) 00:51, 2020년 5월 20일 (UTC)응답[응답]
내가 한 말이 맞다.제 평가에 반하는 템플릿의 예가 있으면 식별해 주세요.그 이유는 95번 라인 주위에 몇 줄만 있는 코드에서는 번호가 매겨진 파라미터가 수신되지 않는다는 것입니다.이 모듈의 용도를 알아내려는 첫 번째 시도는 실패했습니다.이 모듈은 Alan Garner와 같은 많은 기사에서 어떻게 마무리됩니까?그 대부분을 담당하는 템플릿이 있습니까?{{툴바}}}?간단히 설명하자면, 이 모듈이 툴바에 필요한 이유는 무엇입니까?Johnuniq (대화) 2020년 5월 20일 01:48 (UTC)응답[응답]

그 암호는 내게 다소 깨진 것 같다.고치긴 하겠지만 너무 많은 곳에서 쓰이고 왜 기사에 인용되는지 도무지 모르겠다.자세한 내용은 모듈 토크를 참조하십시오.오랫동안 "Error: string with number"를 표시하고 있는 으로 보이는 템플릿 호출/테스트 케이스.Johnuniq (대화) 03:42, 2020년 5월 20일 (UTC)응답[응답]

@Andrybak:네, 용기를 내서 모듈을 고쳤어요.꼭 봐주세요.Johnuniq (대화) 2020년 5월 20일 04:05 (UTC)응답[응답]
수수께끼가 하나 있습니다.Alan Garner에서 이 모듈을 사용하는 이유는 {{postnominals}}을(를) 사용하고 있으며, 심지어 {{postnominals}}(매개변수 없음)에서 모듈을 호출하기 때문입니다.템플릿 호출Johnuniq (대화) 2020년 5월 20일 04:50 (UTC)응답[응답]