모듈 토크:테이블 도구
Module talk| 모듈: TableTools는 많이 사용되거나 잘 보이는 모듈이기 때문에 편집으로부터 영구적으로 보호됩니다.여기서 먼저 실질적인 변화를 제안해야 합니다.제안서가 논란의 여지가 없거나 토론을 거쳤으며 합의에 의해 지지를 받고 있는 경우, 편집자는 {edit protected}을(를) 사용하여 관리자에게 요청된 편집을 수행하도록 알릴 수 있습니다. |
| 이 모듈은 2018년 5월 13일에 삭제될 것으로 고려되었습니다.토론의 결과는 "합병"이었습니다. |
remove중복은 중복된 NaN을 제거하지 않습니다.
기능. p.제거중복(t) checkType('중복 제거', 1, t, '탁자') 현지의 아이즈난 = p.아이즈난 현지의 리트, 존재한다 = {}, {} 위해서 i, v 에 짝을 짓다(t) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 한다면 아이즈난(v) 그리고나서 NaN은 테이블 키가 될 수 없고, 또한 고유하기 때문에 존재 여부를 확인할 필요가 없습니다. 리트[#리트 + 1] = v 또 다른 한다면 것은 아니다. 존재한다[v] 그리고나서 리트[#리트 + 1] = v 존재한다[v] = 진실의 끝. 끝. 끝. 돌아가다 리트 끝. 이 작업은 다음과 같습니다.
기능. p.제거중복(t, 유니크난) checkType('중복 제거', 1, t, '탁자') 현지의 리트, 아이즈난, 하스난, 존재한다 = {}, p.아이즈난, 거짓의, {} 위해서 _, v 에 짝을 짓다(t) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 NaN은 []에 존재하는 테이블 키일 수 없으며 Lua에서도 서로 동일합니다. 한다면 아이즈난(v) 그리고나서 그러나 하나의 Nan int[]만 원할 수 있고 여러 Nan int[]가 있을 수 있습니다. 한다면 유니크난 == 영의 또는 유니크난 == 거짓의 또는 유니크난 == 진실의 그리고. 것은 아니다. 하스난 그리고나서 하스난 = 진실의 리트[#리트 + 1] = v 끝. 또 다른 한다면 것은 아니다. 존재한다[v] 그리고나서 존재한다[v] = 진실의 리트[#리트 + 1] = v 끝. 끝. 끝. 돌아가다 리트 끝. verdy_p (talk) 07:50, 2014년 2월 2일 (UTC) [
- @Verdyp: 두 개의 NaN을 비교하면 항상 결과가 나오므로, 이것은 의도적으로 이루어졌습니다.
false제 추론은 두 NaN이 정확히 같은 계산에 의해 만들어졌더라도 절대로 서로 같을 수 없기 때문에 알고리즘에 의해 중복으로 취급되어서는 안 된다는 것이었습니다.다른 방식으로 일을 처리한 전례가 있다면 알려주시기 바랍니다.어쨌든 저는 NaNs의 세계에 꽤 생소합니다.Stradivarius♪ talk ♪ 씨, 2014년 2월 2일 08:01 (UTC) [- 어쨌든 그것은 루아의 해석입니다.Nan 값이 하나라도(신호와 비신호의 구별이 없거나, IEEE 이진 32비트 플로트 및 64비트 이중 형식과 같이 Nan이 정수 유형을 가지고 있는 경우, Java도 마찬가지), Nan을 고유 키로 사용하는 것에 의존하지만 여전히 0과는 다릅니다.
- Nan의 다른 종류의 사용법은 "값이 설정되지 않았습니다, 무시하세요"입니다. 예를 들어 평균을 계산할 때 Nan은 합계되지 않아야 하고 계산되지 않아야 하므로 모든 Nan은 테이블에서 제거되어야 합니다.이 경우 모든 Nan을 보존하거나 결과로부터 모두 핵으로 만드는 옵션이 있을 수 있습니다. 첫 번째 버전의 if-branch에서 킬 옵션을 테스트하고, 결과에서 Nan의 고유한 옵션을 만드는 두 번째 대체 옵션을 테스트합니다.통계학에서 "unset"을 의미하는 첫 번째 사례는 매우 일반적인 반면, nil은 다른 것을 의미합니다(예: Nan인지 결정하기 전에 이 값을 계산하고, nil은 다른 느린 데이터 저장소에서 검색할 수 있는 약한 참조에도 사용되며, nil을 저장하는 테이블은 해당 느린 데이터 저장소의 빠른 캐시입니다) verdy_p (talk) 08:29,2014년 2월 2일 (UTC)
- 기능을 간단히 살펴보았지만 의도한 용도를 파악할 수 없습니다. 이 용도가 NaN에서 어떤 일이 발생해야 하는지 결정할 수 있습니다.의 문서
removeDuplicates에는 양의 정수가 아닌 키는 무시되지만 이러한 키는 제거됩니다.그 원칙에 따라, 저는 NaN을 제거하는 것으로 디폴트를 하는 것이 좋을 것 같습니다.이 함수를 호출하고 결과적으로 NaN을 사용할 수 있는 사용 예를 상상할 수 없습니다. 이 함수를 사용하여 무엇을 해야 합니까?NaN 구성원의 존재를 테스트하는 것이 바람직하다면 하나 이상의 NaN이 발견되고 누락된 경우 참인 추가 값을 반환하는 것은 어떻습니까?두 가지 모두를 갖는 것이 어떻게 도움이 될까요?0/0그리고.-0/0(또는 여러 개의 예)0/0결과는? - verdy_p의 코드에 대하여:루아의 관용구에서 벗어나는 것은 좋은 생각이 아니라고 생각합니다, 그리고 만약 있다면.
uniqueNan매개 변수. 명시적 "false" 및 "true" 값에 대해 테스트하면 안 됩니다.함수는 "hello"를 거짓도 진실도 아닌 것으로 간주하고 매우 방어적인 위치이지만 Lua 코드가 작동하는 방식은 아닙니다.Johnuniq (대화) 03:26, 2014년 2월 3일 (UTC)
- 기능을 간단히 살펴보았지만 의도한 용도를 파악할 수 없습니다. 이 용도가 NaN에서 어떤 일이 발생해야 하는지 결정할 수 있습니다.의 문서
- 세 가지 값이 필요합니다("트리-상태 부울").
- 기본값은 모든 것을 유지하는 기존 코드입니다.
- 진실은 단 한 명의 난을 유지합니다.
- 거짓은 이것을 지키지도 않습니다.
- 다른 형식의 기타(지원되지 않는) 값은 0으로 간주됩니다.
- 기본값이 0(이미 일반적인 Lua 실행형)인 경우를 제외하고는 "Luaidom"(NaN에 대한)이 없으며, 그렇지 않으면 매개 변수가 명시적인 이름에 의해 의미되는 값(그리고 부울 플래그의 이름을 지정하는 일반적인 좋은 실행형)인 부울 플래그로 사용됩니다.트라이스테이트 부울리언은 "알 수 없음/모름/기타/지정되지 않음/사용할 수 없음/데이터 누락/나중에 결정됨/초기화되지 않음/말하기 거부/의견 없음/파지" 값이 필요한 많은 상황에서 매우 일반적인 객체입니다.이 퍼지 개념은 Nan(불리언 대신 숫자 필드 내)에 의해 전달되기 때문에 여기서 정말 적절합니다!
- 미디어위키 매개변수에는 "NaN"이라는 개념도 없습니다.Lua가 이미 여러 NaN 값을 "동일"로 효과적으로 비교한다고 언급하고 있기 때문에 계산된 숫자 표현의 결과로 가끔 발생하는 이러한 중복을 유지하는 것은 의미가 없습니다(Lua의 숫자는 NaN을 구분하지 않으며 MediaWiki도 구별하지 않습니다)."idiom"은 Java 또는 C++에서 사용되는 것으로, MadiaWiki 또는 Lua(기본 내부 표현에 숨겨져 있음)에서 직접 사용되지 않습니다.이러한 중복 항목을 유지하면 Lua 테이블의 "키"가 고유할 것으로 예상되는 상황이 복잡해질 수 있습니다.그렇게 하지 않으면 오버라이드가 제대로 감지되지 않으며, NaN에 값의 작업을 매핑할 수 없습니다. 즉, MediaWiki 템플릿에서 절대 잡을 수 없는 지정되지 않은 결과가 항상 표시됩니다(이것은 탐지되지 않은 오류 및 지정되지 않은 동작, 모든 경우에 잘못된 결과가 표시됨).Lua는 모든 NaN을 서로 동일하게 비교하지만 다른 모든 비NaN 값("nil"/매핑되지 않은 값 포함)과는 다른 고유한 값으로 취급합니다.(지정되지 않은 MediaWiki 값과 일치하는) 의 "nil"은 "NaN"이 아니며 "빈 문자열" 값도 아닙니다(지정되지 않은 기본값 중 하나일 뿐 "NaN"과 일치할 수 없음).Mediawiki의 "NaN"은 문자열이며 LuaNaN 숫자 값과 일치하지 않습니다.
- 측정된 정확도로 퍼지 논리에 대해 말하기 시작할 때에만 퍼지 부울을 0.0과 1.0 사이의 실수로 표현하여 많은 다른 값을 도입하지만, 이 정확도조차도 때때로 측정할 수 없을 수 있고 추가적인 Nan 값도 필요할 것이므로 퍼지 부울은 0.0과 0.0 사이의 무한한 값을 갖습니다.1.0 더하기 Nan; (0.0은 절대 거짓, 0.5는 거짓 또는 참을 동일하게 나타내고 1.0은 절대 참을 나타냅니다. 즉, 응답률을 합하면 항상 1.0이 됩니다.)[사용자:버디퍼디_p] (talk)
- 요약하면, "--NaNs는 테이블 키가 될 수 없으며, 또한 고유하므로 존재를 확인할 필요가 없습니다."는 완전히 거짓입니다. 이 존재를 확인하지 않으면 "ret[#ret + 1] = v" 행이 여러 번 실행되므로("v"가 NaN일 때마다) "ret[]"는 여러 개의 "NaN" 값을 포함하게 됩니다.그리고 이것은 예상되지 않았습니다.
- 기본적으로 "uniqueNan"을 true로 설정할 수 있습니다(위의 코드는 선택적인 "uniqueNan" 매개 변수가 지정되지 않은 경우, 즉 이러한 중복 항목을 유지합니다).
- 이 옵션 매개 변수를 삭제하면 함수가 항상 참인 것처럼 동작하도록 강제함으로써 필요한 것은 "고유한 Nan == nil 또는 고유한 Nan == false 또는 고유한 Nan == true이고 Nan이 없는 경우" 라인을 "Nan이 없는 경우"로 변경하는 것입니다.즉, "ret[]"에 추가하기 전에 "hasNan = true"를 확인하고 설정하면 됩니다. verdy_p (talk) 20:40, 2018년 8월 5일 (UTC)
- 모두 유지하거나 하나만 유지하여 NaN을 통과할 때 removeDuplates에 대한 "올바른" 동작이 무엇이어야 하는지 모르겠습니다.저는 다음 진술이 부정확하거나 관련이 없다는 것을 알고 있습니다.
Nan을
자신과동일한 고유 키로 사용
하는 데의존하는 앱이 있지만
,여전히 0과는 다릅니다
. Lua에서 이러한 앱이 존재하든 없든, NaN도 0도 테이블의 키가 될 수 없습니다.값만 입력합니다.Nan의 다른 종류의 사용법
은 "값이
설정되지 않음,무시"입니다.
예를들어 [...]의 평균을 계산할
때0
은 다른것을 의미
합니다. 이는 일반적인 "removeDuplicates" 방법과 관련이 없는 다소 특이한 사용법인 것 같습니다.특히 평균을 계산하는 경우 중복 항목을 처음부터 제거하지 않을 수 있습니다.이 경우 모든 Nan을 보존하거나 결과에서 모두
제거하는옵션이 있을
수 있습니다. 모든 Nan을 제거하려면 "중복 제거"에 이상한 플래그를 표시하는 것보다 "RemoveNaNs" 방법을 사용하는 것이 좋습니다.Lua
가 이미여러 NaN 값
을 "동일"로
효과적으로비교한다고 언급
한 것을고려
할 때, 그것은 올바르지않습니다
.Lua는 모든 NaN 값을 동일하지 않은 값으로 처리합니다.Lua의 숫자는 결코 NaN을 구분
하지않습니다
. 저는 당신이 여기서 무엇을 말하려고 하는지 전혀 모르겠습니다.예를 들어 "0/0"을 계산한 결과 Lua에는 NaN이 있습니다."idiom"은 Java 또는 C++에서 사용되는 것으로, MadiaWiki 또는 Lua(기본 내부 표현에 숨겨져 있음)에서 직접 사용되지 않습니다.
MediaWiki와 Lua는 모두 IEEE NaN을 사용하지만, 두 가지 모두 다양한 유형의 NaN(조용한 대 신호 방식 등)에서 특별한 것은 없습니다.Lua는 C에서 구현되며 NaNs를 포함한 부동소수점 유형을 사용하는 반면 MediaWiki는 C(또는 HHVM을 사용할 때 C++)로 작성된 PHP로 작성되어 C의 부동소수점 유형을 다시 사용합니다.이러한 중복 항목을 유지하면 Lua 테이블의 "키"가 고유할 것으로 예상되는 상황이 복잡해질 수 있습니다.
루아 테이블은 NaN을 키로 가질 수 없기 때문에, 이것은 무관해 보입니다.Lua
는 모든NaN을 서로 동일하게 비교하는 고유한 값으로 취급
합니다. 다시 말하지만, 이것은 잘못된 것입니다.- (
지정
되지 않은MediaWiki
값과일치하는)
의 "nil"
은 "NaN"이 아니며 "
빈 문자열"값도 아닙니다.
다른
사람이 어디에 있다고 말했는지모르겠습니다
. Mediawiki의 "NaN"은 문자열이며 LuaNaN 숫자 값과 일치하지 않습니다.
합격하면NaN템플릿 매개 변수로, 예, 문자열로 Lua에 들어오고 실제 Lua NaN과 일치하지 않습니다.하지만 그것은 이 removeDuplates 메서드와 전혀 관련이 없는 것 같습니다.측정
된 정확성으로퍼지 논리에 대해
이야기하기시작
할 때만가능합니다.
여기서는 전혀 관련이 없는 접선에 대해 이야기하는 것처럼보입니다
.요약
하면,"--NaNs는 테이블 키가
될 수없고, 또한 고유하기 때문
에 존재를확인할 필요가 없습니다
."라는 문장은완전히
거짓입니다. 반대로, 대부분사실
입니다.Lua NaN은 테이블 키가 될 수 없습니다.부터nan ~= nan모든 NaN은 "고유"합니다.
- HTH. Anomie⚔ 2018년 8월 5일 23:11 답변 [
- 모두 유지하거나 하나만 유지하여 NaN을 통과할 때 removeDuplates에 대한 "올바른" 동작이 무엇이어야 하는지 모르겠습니다.저는 다음 진술이 부정확하거나 관련이 없다는 것을 알고 있습니다.
2019년 3월 4일 템플릿 보호 편집 요청
이 편집 요청에 응답했습니다.설정 answered=또는 ans=요청을 다시 활성화하려면 매개 변수를 no로 지정합니다. |
여기에 표시된 대로 ipairsAt()/ipairsAtOffset() 함수를 추가하십시오.Ans (대화) 2019년 3월 4일 10:23 4일 (UTC) [
- @Ans: 이 기능의 사용 사례는 무엇입니까?{{3xp}}ery (talk) 15:08, 2019년 3월 4일 (UTC)
- 사용자가 ipairs()와 반복기의 메커니즘을 이해해야 인라인으로 수행할 수 있기 때문에 그렇게 간단하지 않습니다.제안된 기능은 이렇게 반복하고 싶지만 인라인으로 수행하는 방법을 모르는 사용자에게 도움이 될 수 있습니다.또한 인라인 대신 ipairsAt()를 사용하면 코드 가독성이 향상됩니다.개발자들이 단순히 코드를 작성하는 것을 돕는 것이 아니라, 인라인 코드가 아닌 이 기능을 사용하는 코드를 읽을 때 코드가 어떤 역할을 하는지 초보자들이 이해할 수 있도록 도와줍니다.
- 모듈:LuaCall을 사용하여 템플릿에 즉시 디버깅 코드를 작성할 수 있습니다.
- -- 앤스 (대화) 2019년 3월 7일 05:00 (UTC)
-
완료되지 않았습니다. 완전히 보호된 페이지에 대한
편집요청은 논란
의 여지가없거나
합의에의해 지원되는 편집에만 사용해야 합니다
.이미 WP의 3단계에 있다고 간주하는 것에 반대했기 때문에:BRD. — xaosfluxTalk 02:51, 2019년 3월 8일(UTC) [
- 일정 기간(예: 7일)이 지나도 아무도 나의 마지막 이유에 대해 응답하거나 반대하지 않는다면 논란의 여지가 없는 것으로 간주됩니까? --Ans (대화) 04:40, 2019년 3월 12일 (UTC)
2019년 3월 8일 템플릿 보호 편집 요청
이 편집 요청에 응답했습니다.설정 answered=또는 ans=요청을 다시 활성화하려면 매개 변수를 no로 지정합니다. |
여기에 설명된 것처럼 루프 카운트를 1만큼 줄이려면 함수 p.length()를 변경하십시오(#frame.args에 대한 참고 사항도 추가).Ans (talk) 2019년 3월 8일 05:38, 2019 ()Reply [
이 모듈 삭제
@Hhkohh: 이 모듈이 삭제된다고 태그를 추가한 것이 실수입니까?TfD에서는 볼 수 없습니다.Christian75 (talk) 12:37, 2019년 3월 13일 (UTC) [
- Christian75, 삭제가 아니라 TfD 결과에 따라 병합됩니다.Hhkohh (talk) 12:46, 2019년 3월 13일 (UTC) [
- 저는 그렇게 생각했는데, 당신이 추가한 템플릿에는 "이 템플릿은 현재 삭제 중입니다."라고 적혀 있습니다.Christian75 (talk) 12:49, 2019년 3월 13일 (UTC) [
더 나은 테스트 사례 작성에 도움
개발자 여러분 안녕하세요, 저는 mw와 함께 일하고 있습니다.다국어 템플릿 및 모듈과 이 모듈을 공유 모듈로 변환하려면 더 나은 MW가 필요합니다.모듈:테이블 도구/테스트 사례.누구 좀 도와주시겠어요?@Frietjes:, @RexS: 카판카즈밀리요(Talk Infobox assistance) 10:32, 2019년 5월 22일 (UTC)
- 이미 다 했어요, 귀찮게 해서 미안해요.카판카즈밀리요(Talk Infobox assistance) 2019년 5월 22일 10:38, UTC 답장[
배열 길이 병합
@페퍼리:샌드박스의 병합된 버전이 메인 템플릿과 동기화되지 않은 이유가 있나요? --Trialpears (토크) 20:48, 2019년 7월 31일 ()Reply]
- 모든 페이지의 8%에서 사용되는 모듈을 무언가를 손상시키지 않고 편집할 수 있다는 자신감 부족(예, 이 모듈을 2월에 편집한 것으로 알고 있습니다.코드가 활성화될 준비가 되어 있어야 합니다.Pppery it has begun...* 2019년 7월 31일 21:02 UTC [
- 이런 일들을 처리할 때 그것이 아마도 올바른 반응일 것입니다.(아직 모듈 코딩 경험이 없는 나는 아닐 것이다) 두 번째 눈으로 그것을 보는 것은 현명한 것처럼 들립니다.또한 병합한 노트에서 노트를 삭제해서 죄송합니다, 제 잘못입니다. --Trialpears (대화) 22:06, 2019년 7월 31일 (UTC)]
- @스트라디바리우스 씨:모듈에서 병합된 코드를 실행합니까?테이블 도구/샌드박스(특수:Diff/899722883/899724164)가 잘 어울립니까?Pppery it has begun...* 2019년 9월 23일 01:43, UTC [
- @Pppery: 답장이 늦어서 죄송합니다.구현은 대부분 양호하지만 빈 어레이의 경우 0을 반환해야 하지만 현재는 0을 반환합니다.또한 모듈에 테스트 사례를 추가할 수도 있습니다.테이블 도구/테스트 케이스?이름에 관해서는, 저는 다른 것으로 하겠습니다."이진 길이"는 테이블의 길이를 바이트 단위로 의미할 수 있는 것처럼 들립니다(루아 테이블에는 실제로 의미가 없는 것으로 알고 있지만, 헤이).이것이 어레이 또는 어레이와 유사한 테이블에만 적용되는지 여부도 명확하지 않습니다.마지막으로, 가장 짜증나는 것은 기술적으로 이진 검색이 아니라는 것입니다. 지수 검색과 이진 검색은 약간 다릅니다.대신 "arrayLength"는 어떻습니까?어떤 알고리즘이 사용되는지에 대한 설명은 문서 페이지로 밀려나야 하겠지만, 전반적으로 이것이 더 명확한 접근법일 수 있다고 생각합니다.베스트 — Stradivarius♪ talk ♪ 씨, 2019년 9월 29일 08:53 (UTC) [
- @Stradivarius씨: 좋아요, 저는 0 대 0 버그를 고쳤고, 몇 가지 테스트 사례를 추가했습니다.이름에 관해서는, 나는 좋아하지 않습니다.
arrayLength기존의 것과 의미 있게 구별할 수 없기 때문에.length함수, 그리고 동의어인 이름을 가진 두 함수는 나쁜 코딩 스타일처럼 느껴집니다.Pppery it has begun...* 2019년 9월 29일 20:57 UTC 답장 [- @페퍼리:아, 나는 또한 거기에 있다는 것을 잊었습니다.
length기능.두 가지 모두를 갖는 것이 혼란스럽다는 것에 동의합니다.length그리고.arrayLength교체하는 것은 어떻습니까?length와 함께binaryLength대규모 어레이의 경우 훨씬 효율적인 알고리즘이며, 매우 작은 어레이의 경우 효율성이 약간 떨어집니다. 또한 어레이의 중간 요소가 0일 수 없다는 동일한 요구 사항이 있습니다.증분 알고리즘에서 지수 알고리즘으로 전환함으로써 영향을 받는 코드가 있는 경우 해당 코드는 처음부터 손상되었을 수 있습니다.Stradivarius♪ talk ♪ 씨, 2019년 9월 30일 14:25 (UTC) [ - 또한 알고리즘 수정 및 테스트 케이스 추가에 감사드립니다.테스트 케이스를 4개의 개별 테스트 케이스로 나누었습니다. 이를 통해 향후 편집으로 인해 기능에 문제가 발생할 경우 오류를 쉽게 파악할 수 있습니다.Stradivarius♪ talk ♪ 씨, 2019년 9월 30일 14:27 (UTC) [
- @페퍼리:아, 나는 또한 거기에 있다는 것을 잊었습니다.
- @Stradivarius씨: 좋아요, 저는 0 대 0 버그를 고쳤고, 몇 가지 테스트 사례를 추가했습니다.이름에 관해서는, 나는 좋아하지 않습니다.
- @Pppery: 답장이 늦어서 죄송합니다.구현은 대부분 양호하지만 빈 어레이의 경우 0을 반환해야 하지만 현재는 0을 반환합니다.또한 모듈에 테스트 사례를 추가할 수도 있습니다.테이블 도구/테스트 케이스?이름에 관해서는, 저는 다른 것으로 하겠습니다."이진 길이"는 테이블의 길이를 바이트 단위로 의미할 수 있는 것처럼 들립니다(루아 테이블에는 실제로 의미가 없는 것으로 알고 있지만, 헤이).이것이 어레이 또는 어레이와 유사한 테이블에만 적용되는지 여부도 명확하지 않습니다.마지막으로, 가장 짜증나는 것은 기술적으로 이진 검색이 아니라는 것입니다. 지수 검색과 이진 검색은 약간 다릅니다.대신 "arrayLength"는 어떻습니까?어떤 알고리즘이 사용되는지에 대한 설명은 문서 페이지로 밀려나야 하겠지만, 전반적으로 이것이 더 명확한 접근법일 수 있다고 생각합니다.베스트 — Stradivarius♪ talk ♪ 씨, 2019년 9월 29일 08:53 (UTC) [
- @스트라디바리우스 씨:모듈에서 병합된 코드를 실행합니까?테이블 도구/샌드박스(특수:Diff/899722883/899724164)가 잘 어울립니까?Pppery it has begun...* 2019년 9월 23일 01:43, UTC [
- 이런 일들을 처리할 때 그것이 아마도 올바른 반응일 것입니다.(아직 모듈 코딩 경험이 없는 나는 아닐 것이다) 두 번째 눈으로 그것을 보는 것은 현명한 것처럼 들립니다.또한 병합한 노트에서 노트를 삭제해서 죄송합니다, 제 잘못입니다. --Trialpears (대화) 22:06, 2019년 7월 31일 (UTC)]
그리고 메인 모듈과 병합되었습니다.뭐가 깨지는지 보자꾸나중에...Pppery *it has begun... 2019년 12월 21일 03:41 (UTC) [
잠재적 코드 단순화
제가 Lua에 대해 실제로 잘 알지 못하고 이 제안에 대한 명백한 문제를 쉽게 간과할 수 있다는 것을 명심하는 것은 기능입니다.isPositiveInteger()그리고.isNan()를 제거하여 약간 단순화할 수 있습니다.if구조와 대신 논리에 직접적으로 복귀해야 하기 때문입니다.true또는false적절하다면, 이미.저는 샌드박스에서 제가 의미하는 바를 정확히 보여드리고 싶지만, 거기에는 다른 두드러진 변화들이 있고 승인 없이는 관련이 없는 변화들을 먼저 도입하고 싶지 않았습니다.「ディノ奴千?2019년☎ Dinoguy1000 10월 31일 02:15 (UTC)
- @Dinoguy1000:현재 샌드박스에 있는 변경사항을 코딩한 사용자는 언제든지 단순화 편집을 시연할 수 있습니다.Pppery it has begun...* 2019년 11월 4일 23:43, UTC [
- 완료. 장담하건대, 모든 테스트 사례는 이 페이지를 올바르게 이해하고 있다고 가정할 때 이 이후에 통과할 수 있습니다.「ディノ奴千?2019년☎ Dinoguy1000 11월 5일 05:38 (UTC) [
- @Dinoguy1000: 이렇게 많은 결론을 가진 모듈을 편집하는 것에 대해 너무 많은 걱정을 하지 않고 실제로 2월에 시작된 TfDI를 실행한다면 이를 포함할 것입니다.Pppery it has begun...* 2019년 11월 8일 01:59, UTC회신 [
- @페퍼리:저는 비슷한 개선이 앞으로 이루어질 수 있다고 생각합니다.
cleanPattern()의 서브루틴.affixNums()함수, 확실하지는 않지만(다시 말하지만, 나는 루아나 스크리분토에 대해 충분히 알지 못하므로 그곳에 약간의 차가 있을지도 모릅니다), 당신이 편집에 번들로 묶고 싶은 다른 것을 보고 싶어하는 경우.「ディノ奴千?2019년☎ Dinoguy1000 11월 8일 03:56 (UTC) [
- @페퍼리:저는 비슷한 개선이 앞으로 이루어질 수 있다고 생각합니다.
- @Dinoguy1000: 이렇게 많은 결론을 가진 모듈을 편집하는 것에 대해 너무 많은 걱정을 하지 않고 실제로 2월에 시작된 TfDI를 실행한다면 이를 포함할 것입니다.Pppery it has begun...* 2019년 11월 8일 01:59, UTC회신 [
- 완료. 장담하건대, 모든 테스트 사례는 이 페이지를 올바르게 이해하고 있다고 가정할 때 이 이후에 통과할 수 있습니다.「ディノ奴千?2019년☎ Dinoguy1000 11월 5일 05:38 (UTC) [
2020년 3월 7일에 보호된 편집 요청
이 편집 요청에 응답했습니다.설정 answered=또는 ans=요청을 다시 활성화하려면 매개 변수를 no로 지정합니다. |
변경 - 모듈 인라인이 필요하므로 모듈:-- 모듈 인라인을 요구하여 모듈:지수 검색(합리적: 지수 / 지수의 오타) 82.255.235.43 (대화) 03:45, 2020년 3월 7일 (UTC) [
-
지금은 완료되지 않았습니다. 샌드박스에서 대기열을 지정하십시오.이 모듈은 많은 페이지에서 사용되고 있으며 이러한 사소한 오타를 자체 편집으로는 의미가 없습니다.이즈노 (토크) 03:49, 2020년 3월 7일 (UTC) [ - 이것을 언급하는 것이 꽤 늦었지만, 저는 이것과 다른 의견을 수정했고, 지난 달 샌드박스에 대한 이 편집에서 또 다른 사소한 코드 단순화를 했습니다.하지만 지금 라이브 모듈을 편집할 수 있을 정도로 중요한지 여부는 더 일반적인 모듈 편집자들에게 맡기겠습니다.「ディノ奴千?2020년☎ Dinoguy1000 5월 19일 18:22 (UTC) [
- 이 모듈은 편집되는 경우가 너무 드물기 때문에 "실질적인 편집을 기다립니다"라는 접근 방식은 실현 가능하지 않습니다.Pppery it has begun...* 2020년 5월 19일 21:49 (UTC) [
- 당연히 샌드박스 버전을 구축했습니다.제가 당신의 의도를 오해했다면 언제든지 저를 정정해주세요.=) 「ディノ奴千?2020년☎ Dinoguy1000 5월 23일 15:51 (UTC) [
- 당신은 나를 오해하지 않았습니다. 이 모듈이 더 이상 메인 페이지에서 사용되지 않는 즉시 내가 직접 했을 것입니다.Pppery it has begun...* 2020년 5월 23일 16:08, UTC [
- 당연히 샌드박스 버전을 구축했습니다.제가 당신의 의도를 오해했다면 언제든지 저를 정정해주세요.=) 「ディノ奴千?2020년☎ Dinoguy1000 5월 23일 15:51 (UTC) [
- 이 모듈은 편집되는 경우가 너무 드물기 때문에 "실질적인 편집을 기다립니다"라는 접근 방식은 실현 가능하지 않습니다.Pppery it has begun...* 2020년 5월 19일 21:49 (UTC) [
- 이것을 언급하는 것이 꽤 늦었지만, 저는 이것과 다른 의견을 수정했고, 지난 달 샌드박스에 대한 이 편집에서 또 다른 사소한 코드 단순화를 했습니다.하지만 지금 라이브 모듈을 편집할 수 있을 정도로 중요한지 여부는 더 일반적인 모듈 편집자들에게 맡기겠습니다.「ディノ奴千?2020년☎ Dinoguy1000 5월 19일 18:22 (UTC) [
deepCopy에서 버그 발생
모듈에서 병합된 것으로 보이는 p.deepCopy를 시도한 사람이 있습니까?diff에 있는 Pppery별 테이블?함수에 버그가 있습니다. in function_deepCopy의 세 번의 발생deepcopy그래야 한다_deepCopy이 기능을 사용한 적이 없다면 삭제해야 합니까?설명서에 mw.clone에 비해 몇 가지 이점이 있다고 나와 있지만, 기존 모듈에 필요하지 않는 한 대량으로 사용되는 모듈에 함수가 포함되어야 한다고 생각하지 않습니다.또한 기능별로 어떤 테스트 케이스가 있어야 합니다.검색 결과 자체 딥 복사 기능을 사용하는 모듈이 몇 개 있는 것으로 나타났지만, 이 모듈을 사용하려는 모듈을 찾을 수 없습니다.모듈을 변경하려면 제안된 변경 사항이 일주일 정도 샌드박스에 있어야 다른 사람들에게 수정의 기회를 줄 수 있기 때문에 아직 버그를 수정하지 마십시오.모듈이 업데이트될 경우 수정될 수 있는 몇 가지 의견이 있습니다.Johnuniq (talk) 04:02, 2020년 11월 2일 (UTC)
- 기능을 삭제하는 데 이의가 없습니다.눈에 잘 띄는 모듈을 편집할 때 제가 그런 실수를 했다는 것이 좀 부끄럽습니다.Pppery it has begun...* 2020년 11월 2일 04:42 (UTC) [
reverseNumKeys, reverseSparseIpairs
샌드박스와 테스트 케이스에 이러한 기능을 추가했습니다.Trigenibinion (talk) 2021년 2월 22일 17:32 (UTC) [
어레이는 더 일반적이어야 하지 않습니까?
@Pppery, Jonuniq 및 Izno: 현재 Array는 입력이 테이블이 아닌 경우 오류를 발생시킵니다. 이는 사용자가 isXxx 함수에서 기대하는 것과 같은 false를 반환해야 하는 것이 아닙니까?또한 입력이 배열과 같은 것인지 확인하는 것이 더 좋지 않을까요?이렇게 하면 사용자 지정 개체/컨테이너가 반복 가능하고 숫자 키만 있는 경우 어레이와 유사한 것으로 간주할 수 있습니다.알렉시스쿠티뉴 (대화) 2021년 7월 9일 14:23, UTC [
- 저는 isArray가 true 또는 false를 반환해야 하며 절대 오류를 제기해서는 안 된다는 것에 동의합니다. 이는 합리적인 경우 올바른 작업을 수행하는 Lua의 스타일과 훨씬 더 일치합니다.입력이 테이블이 아닌 경우 false를 반환하려면 checkType을 줄로 대체해야 합니다.그건 그렇고, 제게는 전혀 생각지도 못했던 놀라운 구현입니다.그렇군요, 위의 #bug in deepCopy는 아직 해결되지 않았습니다.Johnuniq (talk) 00:13, 2021년 7월 10일 (UTC) [
- @Johnuniq:당신은 이것에 대해 어떻게 생각합니까?
기능. (obj) 한다면 것은 아니다. pcall(쌍들, obj) 그리고나서 돌아가다 거짓의 끝. 현지의 i = 0 위해서 _ 에 쌍들(obj) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 i = i + 1 한다면 obj[i] == 영의 그리고나서 돌아가다 거짓의 끝. 끝. 돌아가다 진실의 끝. - 좋아요, 하지만 저는 다음을 고수하겠습니다.
기능. p.isArray(t) 한다면 유형(t) ~= '탁자' 그리고나서 돌아가다 거짓의 끝. 현지의 i = 0 위해서 _ 에 쌍들(t) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 i = i + 1 한다면 t[i] == 영의 그리고나서 돌아가다 거짓의 끝. 끝. 돌아가다 진실의 끝. - 그것은 사용하는 것입니다.
t모듈의 나머지 부분과 단순성 및 일관성을 유지합니다.그것은 불가능할 것입니다.pcall(pairs, obj)그렇지 않으면 성공할 것입니다.obj테이블이므로 테스트하는 것이 더 순수하지만 테이블이 작동한다는 것을 인정하는 것이 더 명확합니다.함수가 지정되면 true가 반환됩니다.{}(빈 테이블) 그리고 그것은 바람직한 것처럼 보입니다.Jonuniq (talk) 2021년 7월 10일 07:16 (UTC) [- @Johnuniq:
pcall(pairs, obj)그렇다면 효과가 있을 것입니다.obj도구들__pairs.비록 ~일지라도obj기술적으로 여전히 테이블일 것이며, 사용자 정의 유형을 가질 수 있습니다(오버라이드를 통해).type이 모듈은 무엇입니까?Lua 클래스는 그렇습니다).그렇다면 제 기능의 이름을 다른 이름(Array Like)으로 지정하는 것이 더 나을 것 같습니까?원래 것도 당신이 수정할 수 있습니다.알렉시스쿠티뉴 (대화) 15:23, 2021년 7월 10일 (UTC) [- 예, 저는 그 모듈을 흡수하지 못했습니다.Lua 클래스는 진지하게 수업을 시행하고 있었습니다.모듈이 명백한 시작점이나 실행 경로가 없는 코드(클래스를 완전히 사용한 결과)에 직면했을 때 어려움을 겪을 수 있는 Wikipedian에 의해 유지된다는 점을 고려할 때, 이 질문은 장기적으로 어떤 접근 방식이 가장 좋을지에 대한 문제가 됩니다.또한 일관성이 중요하며 isArray는 모듈에서 적합하지 않습니다.테이블 도구(유일한 기능인 경우)
obj변수 유형이 아닌 사용할 방법을 테스트하는 매개 변수로 사용됩니다.저는 매우 실용적이고 위에 언급한 순진한 코드를 사용하겠지만, 당신이 적절한 구현을 원하는 이유가 있고 저는 괜찮습니다.실용주의와 관련하여, 표제 주석은 어레이(표에 대한 언급 포함)로 혼란스러울 수 있지만, 완전히 올바른 주석은 새 코드에서 3배 더 길 것입니다.기능을 복제하는 것에 관해서는, 당신도 알고 있겠지만, 그건 추악합니다.저는 이 모듈에 대해 아무것도 하지 않았고 제가 몇 번 언급했지만 왜 여기서 보고 있는지 잘 모르겠습니다.다시 말해서, 당신이 원하는 것은 무엇이든 할 수 있어서 행복합니다.샌드박스에서 무언가를 시도하는 것이 가장 좋을 수도 있습니다. 가능하면 앞서 언급한 deepCopy 버그도 수정한 다음 모듈을 업데이트하는 것이 좋습니다.Johnuniq (대화) 2021년 7월 11일 02:21(UTC) [- 저는 개인적으로 클래스 기반 모듈을 유지하는 방법을 배우는 것이 기능 기반 모듈만큼 쉽다고 생각합니다.더 복잡한 모듈의 경우, OOP는 많은 이유로 인해 가독성/이해력을 크게 향상시킨다고 생각합니다. 예를 들어 함수 서명의 모든 곳에 변수를 가지고 다닐 필요가 없습니다.물론 더 간단한 모듈에는 클래스가 필요하지 않을 수 있습니다.그것은 단지 적절한 곳에 사용하는 것의 문제입니다.저도 동의해요 만약에 그게 대칭적이지 않다면
isArray받았다obj그래서 제가 제안하겠습니다.isArrayLike대신.이 기능들은 너무 작기 때문에 작은 복제도 나쁘지 않을 것 같습니다.두 기능에는 서로 다른 사용 사례도 있습니다.알렉시스쿠티뉴 (대화) 2021년 7월 11일 21:04 답변 [
- 저는 개인적으로 클래스 기반 모듈을 유지하는 방법을 배우는 것이 기능 기반 모듈만큼 쉽다고 생각합니다.더 복잡한 모듈의 경우, OOP는 많은 이유로 인해 가독성/이해력을 크게 향상시킨다고 생각합니다. 예를 들어 함수 서명의 모든 곳에 변수를 가지고 다닐 필요가 없습니다.물론 더 간단한 모듈에는 클래스가 필요하지 않을 수 있습니다.그것은 단지 적절한 곳에 사용하는 것의 문제입니다.저도 동의해요 만약에 그게 대칭적이지 않다면
- 예, 저는 그 모듈을 흡수하지 못했습니다.Lua 클래스는 진지하게 수업을 시행하고 있었습니다.모듈이 명백한 시작점이나 실행 경로가 없는 코드(클래스를 완전히 사용한 결과)에 직면했을 때 어려움을 겪을 수 있는 Wikipedian에 의해 유지된다는 점을 고려할 때, 이 질문은 장기적으로 어떤 접근 방식이 가장 좋을지에 대한 문제가 됩니다.또한 일관성이 중요하며 isArray는 모듈에서 적합하지 않습니다.테이블 도구(유일한 기능인 경우)
- @Johnuniq:
- 그것은 사용하는 것입니다.
@알렉시스쿠티뉴:모듈에 대한 편집 내용을 확인했습니다.테이블 도구/샌드박스는 보기에 좋습니다, 감사합니다.2021년 2월 22일에 샌드박스에 추가된 미사용 함수 2개와 후행 공백을 제거한 것을 보실 수 있습니다. 왜냐하면 특정 용도 없이 함수를 추가하면 안 된다고 생각하기 때문입니다.제가 사소한 수정을 한 후, 당신의 코멘트 변경(일관성을 유지하기 위한 매우 좋은 아이디어)과 함께, 이제 메인 모듈을 샌드박스와 비교하는 것은 악몽이지만, 그 변화는 좋다고 생각합니다.
Johnuniq (talk) 2021년 7월 12일 05:37, UTC 답변
2021년 7월 25일 보호된 편집 요청
이 편집 요청에 응답했습니다.설정 answered=또는 ans=요청을 다시 활성화하려면 매개 변수를 no로 지정합니다. |
이 요청은 이 시간까지 샌드박스에 대한 모든 변경 사항을 구현하기 위한 것입니다.차이는 위 섹션의 diff 링크를 통해 확인할 수 있습니다.변경 사항 요약: 개선된 모듈 형식, 개선된 isArray, 추가된 isArrayLike, fixed_deepCopy, 개선된 defaultKeySort.알렉시스쿠티뉴 (대화) 14:27, 2021년 7월 25일 (UTC []
- 시간이 너무 오래 걸려서요.
완료되었습니다. 확인 결과, 이것은 귀하에 의해 테스트되었으며 또한 Johnuniq에 의해 확인되었습니다.Martin (MSGJ · talk) 2021년 10월 4일 () 10:42 회신 [
keySort 설명서 또는 예제를 참조하십시오.
누군가가 § keyToList 및 § 정렬된 쌍에서 사용된 기능의 문서에 추가하거나 좋은 실시간 예제를 가리킬 수 있습니까?Lua 매뉴얼 관련: table.sort?간단한 비숫자 정렬이 필요합니다 ;-) Thx. -DePiep (talk) 2021년 11월 20일 (UTC) :19 답장 [
- 분류할 더미 데이터의 간단한 예를 제공해 주시면 확인해 보겠습니다.간단한 예로, 만약에.
keys는 각각 숫자 또는 문자열일 수 있는 값의 목록이며, 다음은 테이블을 정렬하여 문자열 앞에 숫자가 정렬되도록 합니다.
테이블. 테이블.(열쇠들., 기능. (a, b) 한다면 유형(a) == 유형(b) 그리고나서 돌아가다 a < b 그렇지 않으면 유형(a) == '숫자' 그리고나서 돌아가다 진실의 끝. 끝.) 향상된 NaN 처리
이 편집 요청에 응답했습니다.설정 answered=또는 ans=요청을 다시 활성화하려면 매개 변수를 no로 지정합니다. |
NaN 처리 문제를 수정하는 샌드박스에서 제 변경사항을 끌어와 주세요.저는 이미 테스트 사례를 업데이트했습니다(처음에는 실패하게 한 후 샌드박스에서 문제를 해결했습니다).더 단순화할 것을 고려했습니다.isNaN나는 NaNs가 Lua에서 자가 테스트와 동일하지 않은 유일한 값이지만 외부 코드(예: 사용자 데이터)로 가능할 수 있다고 생각하기 때문입니다(그러나 Scribunto는 그 중 어느 것도 사용하지 않는다고 생각합니다).그렇긴 하지만, 자신과 동등하지 않은 것은 아마도 제거를 고려해서는 안 됩니다.removeDuplicatesLua에서는 임의의 테이블 값을 테이블 키로 사용하려고 할 때 항상 NaN이 문제가 됩니다(와 달리).nil테이블 값 또는 키로 사용할 수 없으며 대부분 희소 테이블 또는 임의 표현식 목록을 처리할 때 사용됩니다.—우즈메 (대화) 2021년 12월 17일 19:37, UTC
@Verdyp, Johnuniq 및 Anomie:주의해야 할 점은 두 가지 모두nil및 NaN 값은 테이블 키가 될 수 없지만 이러한 값으로 테이블을 인덱싱하려고 시도하는 것은 오류가 아닙니다.Lua는 이러한 값이 실제 키로 사용되는 것을 방지하는 오류를 던집니다(즉,rawset(tableX, nil, true)그리고.rawset(tableX, 0/0, true)오류가 발생할 수 있지만 이러한 값은 인덱스 및 새 인덱스 이벤트에서 처리할 수 있습니다(를 통해).__index그리고.__newindex문제가 없는예를 들어, 저는 처음에 수정했습니다. listToSet모든 NaN 값을 동일한 것처럼 간주(즉, 입력 배열에 하나 이상의 NaN이 있는 경우 반환된 세트를 NaN yield로 인덱싱)true하지만 Lua가 그것들이 어떤 값과도 결코 같지 않다고 생각하기 때문에 (다른 NaN 또는 심지어 그 자체도 포함) 특별히 유용하지 않다고 결정했습니다.만약 그것이 가치가 있다고 생각된다면 우리는 그것으로 돌아갈 수 있습니다. -Uzume (대화) 19:37, 2021년 12월 17일 (UTC) [
- 감사합니다만 샌드박스 p.listToSet은 다음의 사용으로 인해 오타가 있습니다.
vp.1987년에itemin p.listToSet.사용하는 것이 가장 좋습니다.v그들 둘 다요그런데 ping이 댓글 편집에 추가되어 작동하지 않았습니다.Johnuniq (talk) 00:50, 2021년 12월 18일 (UTC) - @Uzume와 Johnuniq: 이것은 아직도 작업 중입니까, 아니면 사용할 수 있는 적절한 버전이 있습니까?xaosfluxTalk 15:29, 2022년 1월 10일 (UTC) [
- @Xaosflux: 현재 샌드박스의 버전은 "준비 완료"입니다.Jonuniq가 처음 요청한 이후 발견한 한 가지 문제를 수정했습니다.—우즈메 (대화) 2022년 1월 10일 16:10 (UTC) [
- 저는 새로운 코드를 보았습니다.67번 라인의 교체로 인해 또 다른 문제가 있습니다.
t와 함께arr에p.removeDuplicates세 곳 중 두 곳에서t사용되었습니다.무엇을 해야 하는지 살펴보겠지만, 소개하겠습니다.arr모듈의 나머지 부분이 사용되는 경우t바람직하지 않고 새로운 것이 의심됩니다.arr가야 합니다.Johnuniq (대화) 02:47, 2022년 1월 11일 (UTC) [- @Johnuniq and Xaosflux: 그것도 쉽게 고쳐졌습니다.현재 샌드박스에서 수정 사항을 찾아주세요.감사합니다. —우즈메 (대화) 20:10, 2022년 1월 27일 (UTC) [
- 그것은 좋아 보이네요.그러나 이제 우리는 490만 페이지에 사용되는 모듈을 실질적인 차이를 만들 가능성이 매우 낮은 몇 가지 좋은 개선사항으로 업데이트해야 하는지에 대해 생각해야 합니다.저는 어느 쪽이든 행복하지만 다른 사람이 그 결정을 내리기를 바라며 기다리겠습니다.Johnuniq (대화) 02:20, 2022년 1월 28일 (UTC) [
- @Johnuniq: 저는 당신이 NaN 처리의 버그를 수정하는 것을 "실질적인 차이를 만들 가능성이 매우 없는 좋은 개선"이라고 생각하는 것이 재미있다고 생각합니다.어느 곳에서도 NaN 값을 가진 적이 없지만 분명히 NaN 지원이 필요했기 때문에 누군가가 분명히 그런 것을 필요로 한 것입니다.이것이 먼저 테스트 사례를 업데이트한 주된 이유입니다(결함을 입증한 후 수정하기 위해).—우즈메 (대화) 2022년 1월 30일 13:12, UTC
- 제가 변경했습니다.이것과 Jonuniq에게 코드를 확인해 주셔서 감사합니다 - Martin (MSGJ · talk) 13:10, 2022년 1월 31일 (UTC) [
- 그것은 좋아 보이네요.그러나 이제 우리는 490만 페이지에 사용되는 모듈을 실질적인 차이를 만들 가능성이 매우 낮은 몇 가지 좋은 개선사항으로 업데이트해야 하는지에 대해 생각해야 합니다.저는 어느 쪽이든 행복하지만 다른 사람이 그 결정을 내리기를 바라며 기다리겠습니다.Johnuniq (대화) 02:20, 2022년 1월 28일 (UTC) [
- @Johnuniq and Xaosflux: 그것도 쉽게 고쳐졌습니다.현재 샌드박스에서 수정 사항을 찾아주세요.감사합니다. —우즈메 (대화) 20:10, 2022년 1월 27일 (UTC) [
- 저는 새로운 코드를 보았습니다.67번 라인의 교체로 인해 또 다른 문제가 있습니다.
- @Xaosflux: 현재 샌드박스의 버전은 "준비 완료"입니다.Jonuniq가 처음 요청한 이후 발견한 한 가지 문제를 수정했습니다.—우즈메 (대화) 2022년 1월 10일 16:10 (UTC) [
"반전"이 있는 중복 처리
그런 것을 갖는 것이 유용할지 궁금합니다.invert원본 입력 배열의 인덱스 배열인 값을 제공하여 중복을 지원합니다.—우즈메 (대화) 2021년 12월 17일 19:37, UTC
- 현재의,
p.invert({'a','b','c','a'})줄 것 같은{a=4,b=2,c=3}제 생각에 그 제안은 그것이 당신에게{a={1,4},b=2,c=3}아마도, 하지만 이런 종류의 고려는 위키백과의 진정한 필요성을 고려한 후에 가장 잘 처리될 것입니다.또 다른 가능성은 중복이 발생할 경우 오류를 발생시킬 수 있으며, 중복에 대해 발생해야 하는 작업을 나타내는 매개 변수에 의해 제어될 수 있습니다.저는 필요가 없는 한 그것에 대해 걱정하지 말아야 한다고 생각합니다.Johnuniq (talk) 2021년 12월 18일 01:01, UTC 답변