모듈 토크:예스노

Module talk

테스트 케이스 및 문서

{ class="uncaptable" + 테스트 케이스 ([템플릿 사용:Yesno/doc]) - !모듈 출력!템플릿 출력! 예상 - {{# 호출:예스노 예스노 예스} {{예스노 예스}} 예스 - {{#초대:예스노 예스노 예스} {{예스노 예스}} 예스 - {{#초대:Yesno yesno Y} {{yesno Y}} 예 - {{#초대:Yesno yesno y} {{yesno y}} 예 - {{#초대:Yesno yesno no} {{yesno no}} '(공백)' - {{#초청:예스노 예스노 }} {{예스노 }}} '(공백)' - {{#초청:Yesno yesno} {{yesno}} '(공백)' - {{#초청:예스노 예스노 }}} {{예스노 }}}} '(공백)' - {{#호출 :Yesno yesno purplemonkeydishwasher} {{no purplemonkeydishwasher}} 예 - {{# 호출:Yesno yes no yes = }} {{ } {{ yes no yes = }}}} } 베이컨 - { # facebook :Yesno yesno no = ham} {{ yesno no = ham} 햄 - {{#ham} :예스노 예스노 블랭크=계란} {{예스노 블랭크=계란}} - {{##param:Yesno yesno no = ham} {{ yesno no = ham} - {{#param} :예스노 예스노 블랭크=에그노=햄} {{예스노 블랭크=에그노=햄}} - {{#param} :Yesno yesno ¬sausage = }} {{ } {{ yesno sausagesausage = }} sausage }} 소시지 - {{#}:Yesno yesno purplemonkeydish def=cup-of-sup} {{no purplemonkeydish def=cup-of-sup} 컵 오브-{#sup}:Yesno yesno purplemonkeywasher yes=parplemonkeywasher yes=parplemonkeywasher yes=parplemonkeywasher yes=Yesno yesno purplemonkeywasher def=cup-of-cup-disher yes=cup-of-cup-counter - {#disher}{no purplemonkeywasher def=cup-of-cup:}:Yesno yes = no = yes } { no yes = no = no = yes } no - { # facebook :예스노 예스=아니오=예스}{예스노=아니오=예스}} 예스~{#############################Yesno yesno no = no } {{ yesno no = no } no }
주의: 스크립트 오류를 억제하기 위해 사전 태그가 추가되었습니다.Stradivarius 씨 2013년 9월 20일 14:25 (UTC)답글[답글]

보시는 바와 같이 템플릿은 설명서에서 주장하는 대로 동작하지 않습니다.나는 어떤 것이 권위적이라고 생각해야 할지 잘 몰랐다: 이상적인 구현과 실제 구현.나는 결국 전자에 동조했다.삭제 중and not anyLua 코드의 경우 모듈은 템플릿과 동일하게 동작합니다.

--Ori.livneh (대화) 2013년 2월 28일 10:46 (UTC)응답 [응답]

파라미터의 공간을 보다 잘 다루면 됩니다.-- WOSlinker ( talk ) 11:41, 2013년 3월 2일 (UTC)응답[응답]
고마워, 다 고쳤어.테스트 케이스를 위 테이블로 옮겼습니다.--Ori.livneh (대화) 05:58, 2013년 3월 3일 (UTC)응답[응답]
Yesno는 800만 건 이하의 트랜슬레이션을 가지고 있습니다.레거시 1:1을 처리해야 한다는 것은 의심의 여지가 없습니다.테스트해 보세요.-DePiep (토크) 22:31, 2013년 3월 11일 (UTC)응답[응답]

서류가 틀렸다.「계란」의 예에서는, 입력치가 공백인 것을 전제로 하고 있습니다.단, 코드 예에서는 입력 파라미터가 생략되어 있습니다.비교:

  • {{yesno blank=계란no=ham}} →
  • {{no blank=계란 no=ham}} →계란

실제 문서화된 내용은 다음과 같습니다.

  • {{yesno blank=에그노=햄=빵}→빵
서류를 변경했습니다.위 표는 아닙니다.-DePiep (토크) 13:16, 2013년 3월 23일 (UTC)응답[응답]

왜요?

{{yesno}}은 매우 심플하기 때문에 기능적으로 동등한 Lua로 교체하는 것이 의미가 있는지 모르겠습니다.Lua가 훨씬 빠르고 읽기 쉬운 경우가 많지만, 여기서는 그렇지 않은지 잘 모르겠습니다.실제로 #invoke에서는 약간의 오버헤드가 발생하기 때문에 단순 파서 함수는 동등한 Lua보다 약간 더 빠를 수 있습니다.여기서 테스트한 적은 없지만, 이런 경우 성능상 이점이 없다고 해도 놀라지 않을 것입니다.루아 개종을 목표로 삼기에는 이상한 템플릿인 것 같습니다.Dragons flight (talk) 14:57, 2013년 3월 12일 (UTC)응답[응답]

호환성을 위해서입니다.어떤 이상한 이유로, 예스노(Yesno)가 효과가 없을 수도 있고, 앞으로도 효과가 있을 것입니다.

E Super Maker ( 😲 shout )2019년 11월 23일 15:47 (UTC)응답 [응답]

테스트 실패

해결했다

단위 검정에서 하나의 불합격이 발견되었습니다. 값 "1 = " " (공백 포함).이유: 이 검사 전에 공백이 제거되지 않았습니다.가능한 해결책입니다. '''은 0이 아닌 문자로 처리하십시오.(val == 0 또는 val == '0'인 경우 ...). -DePiep(대화) 11:54, 2013년 3월 23일(UTC)응답[응답]

1=0.0인 경우에도 실패합니다.
제안: 변경val = args[1]안으로val = tostring(args[1]). "000"을 숫자로 취급하지 않도록 하기 위해. -DePiep(대화) 14:09, 2013년 3월 23일(UTC)응답[응답]

해결했습니다. 모듈이 변경되었습니다.단, 숫자 문제는 제 제안과 다릅니다.-DePiep (토크) 14:19, 2013년 3월 23일 (UTC)응답[응답]

테스트 케이스를 올려주셔서 감사합니다.파서 펑션에 대해 새로운 것을 알게 되었습니다.:) 이전 템플릿 버전보다 아직 느린 것 같습니다.Stradivarius님♪ talk ♪ 2013년 3월 23일 14:38 (UTC)응답[응답]

무효?

이제 코드에는 다음과 같습니다.no = "<!-- null -->"단, (nullstring)은 ASCII NULL(0x0000)과 다릅니다.또, Wiki 코멘트를 코드에 추가하는 것도 의미가 없다고 생각합니다.-DePiep (토크) 17:47, 2013년 3월 23일 (UTC)응답[응답]

네, 말이 안 된다는 것에 동의합니다.현재 템플릿과 100% 역호환성을 가지기 위해서입니다.이러한 html 코멘트는 서브테이블이 되었을 때 {{yesno}에서 삭제되었어야 합니다.따라서 실제로 치환의 출력에 어떤 의미 있는 영향을 미치는지 다시 추측할 필요가 없었습니다.데이터베이스 덤프를 다운로드하고 검색을 실행하여 알아낼 수 있을 것 같습니다만, 제 불쌍한 노트북에는 좀 무리인 것 같습니다.아니면 댓글을 삭제하고 깨지지 않기를 바랄 수도 있습니다.아무도 고의로 댓글을 사용한 템플릿 코드를 작성하지 않았을 것입니다.다만, 에러에 의존하도록 의도하지 않게 작성된 코드가 없는지는 확신할 수 없습니다.그게 걱정됩니다.Stradivarius님♪ talk ♪ 2013년 3월 23일 18:24 (UTC)응답[응답]
그만해.무슨 일이 있어도. -DePiep (대화) 00:17, 2013년 3월 24일 (UTC)응답[응답]

리라이트

순수한 루아 함수로 다시 썼어요새로운 버전은 훨씬 더 단순하며, 또한 부언, 테이블, 함수 등의 Lua 데이터 유형과 함께 작동하도록 설계되었습니다.Dragons flight의 지적은 근거가 있고, {{yesno}}을(를) 교체하는 것을 포기하는 것이 가장 좋은 답변으로 보였다.새 버전은 {{note({noa)를 유지하며, =는 "예:txxtxxtxtxtop)에 일관되게 해야 합니다.9월 0일er 2013 (UTC) 응답[응답]

모든 테스트 케이스 실패

모듈에 문제가 있습니까?모듈 토크에 관한 모든 테스트는 다음과 같습니다.예/테스트 케이스가 실패했습니다. --Jarekt (talk) 16:37, 2013년 12월 20일 (UTC)응답[응답]

2014년 2월 24일 편집 요청 보호

그 정보는 기만적이다

2600:1013:B018:986F:4493:7A2A:52E2:103A(대화) 2014년 2월 24일(UTC)응답해 주세요.

미완료: 변경해야 할 사항에 대해 좀 더 구체적으로 말씀해 주십시오.모듈 토크 페이지는 다음과 같습니다., 그리고 여기에는 정보가 없습니다.기만적이라고 생각되는 페이지의 정보는 무엇입니까?- {{U Technical 13}}(tec) 2014년 2월 24일 04:27 (UTC) 응답[응답]

새 버전

이 모듈의 새 버전을 샌드박스에 넣었습니다.새로운 버전에서는 Scribunto mw.ustring.lower 함수 대신 네이티브 Lua string.lower 함수를 사용합니다.제 테스트에 따르면 이 방법이 약 25배 빠릅니다.모듈 업데이트를 반대하는 사람이 있습니까?- Stradivarius님♪ talk ♪ 2014년 4월 7일 (UTC)응답[응답]

문제 없습니다.Jackmcbarn (대화) 2014년 4월 7일 (UTC)응답[응답]
새로운 버전은 18일 현재 라이브입니다.- Stradivarius님♪ talk ♪ 2014년 4월 22일 (UTC)응답[응답]

문서 질문(빈 문자열 참/거짓)

  1. 설명서에서 "nil" 예제를 단수로 변경했습니다.아니면 다른 형태의 0이 적용되고 문서화되어야 합니까?(비초기화 변수?)
  2. 마지막 단락은 에 관한 것입니다.''value(빈 문자열).다음과 같이 되어 있습니다.
공백 문자열은 보통 Wikitext에서는 false로 평가되지만 Lua에서는 true로 평가됩니다.이게 맞습니까?
이 문서에 따르면 "부울이 아닌" 것으로 취급됩니다.'true' 값이 아니라 기본값(파라미터) 값을 반환한다고 합니다.즉, 부울로 인식되지 않습니다.그리고 다른 곳에서는 의사가 말하길yesno('')null을 반환한다." (테스트하지 않았습니다.)- DePiep (토크) 2014년 4월 8일 09:06 (UTC)응답[응답]
0: 0은 한 가지 종류만 있습니다.단, 임의의 모듈에는 값이 0이 될 수 있는 변수가 다수 존재할 수 있습니다.따라서 "nil values(nil values)"가 됩니다."대소문자 0"은 없으며, Lua에서는 변수가 처음 사용될 때 초기화되기 때문에 초기화되지 않은 변수와 같은 것은 없습니다.빈 문자열: "evaluate to true"라고 하는 것은 if/then 스테이트먼트 또는 다음 스테이트먼트에서 사용되는 타이밍을 말합니다.and그리고.or오퍼레이터.예를 들어, 다음 코드는 true를 반환합니다.
한다면 '' 그리고나서  돌아가다 진실의 또 다른  돌아가다 거짓의 끝. 
이것으로 모든 것이 해결되었습니까?- Stradivarius님♪ talk ♪ 2014년 4월 8일 (UTC)응답[응답]
그게 모든 것을 해결하나요?몰라.문서는 변경되지 않았습니다. -DePiep (talk) 12:10, 2014년 4월 8일 (UTC)응답[응답]
내 말은, 이제 이해하겠어?- Stradivarius님♪ talk ♪ 2014년 4월 8일 (UTC)응답[응답]

T도 마찬가지입니까?

T를 true의 옵션으로 사용하는 어플리케이션도 있습니다.따라서 문자 T(t)가 참 값을 나타내도록 하는 것도 유용할 수 있습니다.CRwikiCA talk 2015년 4월 14일 15:15 (UTC)응답[응답]

부탁한다

T 또는 t, F 또는 f를 참 및 거짓 엔트리로 인식하기 위해 모듈 변경을 요청합니다.이렇게 하면 전체 코드가 다음과 같이 됩니다.

-- 부울과 같은 Wikitext 입력을 일관되게 처리할 수 있는 함수입니다. -- 템플릿 {{yesno}}과(와) 동일하게 동작합니다.  돌아가다 기능. (, 체납)  -- Wiki에서 "예", "아니오" 등에 ASCII가 아닌 문자를 사용하는 경우,  -- 에서는, 「val:lower()」를 「mw.ustring.lower(val)」로 치환합니다.  -- 다음 행.   = 유형() == '문자열 그리고. :더 낮게() 또는   한다면  == 제로 그리고나서   돌아가다 제로  그렇지 않으면  == 진실의    또는  == '네'   또는  == 'y'   또는  == '진짜'   또는  == 't'   또는 톤수() == 1  그리고나서   돌아가다 진실의  그렇지 않으면  == 거짓의   또는  == '아니요'   또는  == 'n'   또는  == 'false'   또는  == 'f'   또는 톤수() == 0  그리고나서   돌아가다 거짓의  또 다른   돌아가다 체납  끝. 끝. 

여기서 15행과 23행은 현재 코드와 비교하여 새로운 것입니다.CRwikiCA talk 2015년 4월 23일 18:17 (UTC)응답[응답]

반대 없음, 완료 - Martin (MSGJ · talk )2015년 4월 27일 (UTC)응답 [응답]

온/오프 검출 지원

일반 템플릿 버전과의 일관성을 위해 및 값(각각 및 와 동등한 값)을 추가하십시오.{{Yesno}}Template talk에서의 RfC 단위:예 #온/오프 검출 지원. - SMC Candelish ¢ 😼 2018년 2월 22일 23:44 (UTC)응답[응답]

아주 간단한 변경이지만, 변경 사항을 샌드박스로 정리하고 테스트 케이스를 실행했습니다.Galobtter (pingö mio) 2018년 2월 25일 07:52 (UTC)응답[응답]
완료 - Martin (MSGJ · talk )2018년 2월 28일 12:14 (UTC)응답 [응답]
RfC에서 여러 파티가 변명할 만한 이유가 없었던 것처럼 옆에서 귀찮게 굴지 않고 코딩 작업(Lua는 나를 골칫거리로 만든다)과 MSGJ에 대해 감사드립니다.나는 이 특별한 경우처럼 사소한 기술적 문제에 대해 "단지 내가 그것을 느낀다는 이유만으로 합리적인 변화를 저항하는" 헛소리를 많이 접해 본 적이 없다.그것은 이상했다, 거의 설명할 수 없는 것에 가깝다. - SMC Candelish ¢ 😼 2018년 5월 26일 18:37 (UTC)응답[응답]

보호 수준 업그레이드

이 템플릿 에디터를 보호해야 한다고 생각합니다(이 템플릿보다 트랜슬레이션 수가 훨씬 적은 템플릿을 본 적이 있습니다).리스트에 올리기 전에 제안 하나 할게요.카일리인The Skylie (talk) 2020년 4월 6일 02:23 (UTC)응답[응답]

완전한 보호가 확장된 보호가 아님을 방금 깨달았습니다.이건 무시해 주세요.카일리인The Skylie (talk) 2020년 4월 6일 02:23 (UTC)응답[응답]

다국어 버전?

다국어 버전은 어떻습니까?충돌은 없습니까?Trigenibinion (대화) 2021년 3월 12일 (UTC)응답[응답]

이것은 보통 다른 언어에서도 동일하게 불리며, 영어 및 번역을 지원하는 것처럼 보이기 때문에 다국어 모듈에서도 사용할 수 있을 것입니다.Trigenibinion (대화) 17:57, 2021년 3월 12일 (UTC)응답[응답]
Wiki의 내용은 한 언어로만 제공되므로 이 모듈의 다국어 버전이 이 Wiki에 존재할 필요가 없습니다.또한 다음 하나를 작성하면 모듈을 재작성할 수 있습니다.Wikipedia에서 삭제한 예스노TNT:토론/로그/2019년 12월 11일 #모듈용 템플릿:YesnoTNT, 그리고 WP에 따라 신속하게 삭제되도록 하겠습니다.CSD #G4* ppery it has begun...* 2021년 3월 13일 (UTC)응답[응답]

옵션: 바이너리만?

모듈을 never로 되돌리는 옵션(기능)을 추가하는 것을 「제안」하고 싶다.예를 들어 para가 있을 수 있다. whennil=<True or False>.

배경은 (Lua 프로그래밍에서 만나는) 많은 상황에서 nil 반환값은 도움이 되지 않고 여전히 바이너리 로직으로 별도로 처리해야 한다는 것입니다.

하지만 더 좋은 것은 처음부터 추가되지 않은 이유나 불량 설계/코딩으로 간주될 수 있는 이유를 알 수 있다는 것입니다."모듈:YesnoNebernil" 또는 또 나쁜 디자인입니까?-DePipp(토크) 04:56, 2021년 12월 23일(UTC)응답[응답]

예를 들어 다음과 같이 자신의 코드로 0을 처리할 수 있습니다.myvariable = yesno(value) or false-- WOSlinker (대화) 2021년 12월 23일 (UTC)응답[응답]
이는 대부분 기본 매개 변수(즉, 기본 매개 변수)를 지정하여 처리할 수도 있습니다.myvariable = yesno(value, false)이 경우 케이스가 남습니다.yesno(nil, false)이 값은 다음과 같습니다.nil 모듈을 원래 이렇게 프로그래밍한 이유는 Template와 대부분 하위 호환성이 있기 때문입니다., 교체하려고 합니다.원래 계획은 템플릿을 직접 변환하는 것이었습니다.Lua는 Yesno이지만 템플릿의 단순성과 PHP와 Lua의 전환 초기 비용을 고려할 때 템플릿을 사용하는 것보다 실제로는 더 느리다는 것이 판명되었습니다.그 대신 이 모듈은 Lua 전용으로 되어 대부분의 템플릿 동작은 다음과 같습니다.. 모듈 라이터는 템플릿 로직을 너무 많이 변경하지 않고도 더 복잡한 템플릿을 변환하는 모듈에 쉽게 통합할 수 있습니다.- Stradivarius♪ talk ♪ 씨 2021년 12월 23일 (UTC)응답[응답]
그래, thx.이제 이 코드 솔루션을 안심하고 사용할 수 있어 조사와 테스트가 필요 없습니다./doc에 추가하는 것이 좋습니다.-DePip (talk) 16:35, 2021년 12월 24일 (UTC)응답[응답]