모듈 토크:루아급
Module talk글로벌
@알렉시스쿠티뉴:모듈 토크에서 논의한 내용에 추가합니다.TableTools#어레이는 더 일반적이어야 하지 않습니까?,저는 이 아주 멋진 모듈을 잠깐 보았습니다.당신이 고려해야 할 몇 가지 문제가 있을 수 있습니다.첫째, 많은 모듈에 모듈이 필요합니다.글로벌 없음.이러한 모듈 중 하나가 여기서 무언가를 사용하려고 하면 이 모듈에 여러 글로벌이 있기 때문에 충돌할 가능성이 높습니다.함수 테이블 + 클래스 + 인스턴스가 포함된 테이블을 반환해야 합니까?둘째, 함수 try_parser에서 다음을 호출하는 것을 알고 있습니까?type()루아의 기능을 부르는 것이지, 그것이 아닙니다._G.type수정된 기능?Johnuniq (대화) 10:43, 2021년 7월 11일 (UTC) [
- @Johnuniq:글로벌은 필수는 아니지만 매우 권장됩니다.저는 이러한 모듈이 모듈 사용을 중단했다면 더 좋습니다.그들이 수업을 사용한다면 글로벌은 없습니다.이 모듈은 다른 모듈의 구조 및 코드화 방식을 근본적으로 변경하여 글로벌로 전환하는 데 적합합니다.난 그걸 몰랐다.
type버그. 그 함수 오버라이드 아래에서 호출하면 안 된다는 것을 알고 있었는데, 제출 전 점검 때 파서가 호출했다는 것을 까맣게 잊고 있었습니다.그나저나 나는 이 모듈을 광범위하게 테스트하지 않았습니다.처음에는 다른 기본형 모듈(예정)에서 예시와 실제 사용법을 통해 테스트해보고 싶었습니다.알렉시스쿠티뉴 (토크) 2021년 7월 12일 05:24 답변 [- 문제는 사람들이 의도하지 않은 전역을 생성하는 오타를 감지할 방법이 없다는 것입니다. 따라서 모듈:no_globals는 상당히 일반적이며 점점 더 그럴 수도 있습니다.저는 글로벌을 보여주는 스크립트가 있어서 사용하지 않습니다.상관없어요, 그냥 제가 그 문제를 지적할까 해서요."type"을 다시 입력하면 변수 이름을 다음으로 변경합니다.
lua_type그래서 코드나 판독기에 혼란이 있을 수 없습니다.Johnuniq (talk) 2021년 7월 12일 05:31, UTC 답변[
- 문제는 사람들이 의도하지 않은 전역을 생성하는 오타를 감지할 방법이 없다는 것입니다. 따라서 모듈:no_globals는 상당히 일반적이며 점점 더 그럴 수도 있습니다.저는 글로벌을 보여주는 스크립트가 있어서 사용하지 않습니다.상관없어요, 그냥 제가 그 문제를 지적할까 해서요."type"을 다시 입력하면 변수 이름을 다음으로 변경합니다.
네, 글로벌을 최소화하도록 노력하겠습니다.현재 새로운 글로벌은 다음과 같습니다.
classissubclassisinstancetry
계획된 선택적 전역 기본 유형은 다음과 같습니다.
알렉시스쿠티뉴 (대화) 2021년 7월 21일 23:13 (UTC) [
- 이 모듈을 널리 사용하려면 전역이 없어야 합니다.그들이 왜 필요한가요?필요한 모듈의 "이름 공간"을 사용하고 x.class(여기서 x는 require('모듈:루아 클래스')).Johnuniq (대화) 2021년 7월 22일 02:42(UTC) [
- 글로벌은 나쁜 것이니 피해주세요.최소한으로 그들을 무시할 수 있도록 합니다.명확하게 말하면, 글로벌은 코드를 테스트하기 어렵게 만들고 이러한 글로벌을 사용하는 코드는 휴대할 수 없게 됩니다.2001:4644:13BE:0:E955:D3DE:360E:9F1D (토크) 16:52, 2022년 12월 18일 (UTC []
그렇지 않으면
그 중 몇 가지elseif이전 절이 추가 평가에서 종료되기 때문에 피할 수 있습니다.2001:4644:13BE:0:E955:D3DE:360E:9F1D (토크) 16:56, 2022년 12월 18일 (UTC []
단언하다
검정 절 뒤에 오류 문이 나타나는 경우가 여러 번 있습니다.다음으로 대체할 수 있습니다.assert따라서 명시적인 if 절을 피합니다.그것은assert(<test>, <message>)명시적 오류가 수정될 수 있는 유일한 위치는 수준에서 리디렉션이 적절할 때이며, 이는 다음과 같은 두 번째 인수입니다.error(<message>, <level>). 2001:4644:13BE:0:E955:D3DE:360E:9F1D (토크) 17:01, 2022년 12월 18일 UTC) [
도서관 Util.다중 형식 선택색인
몇 가지가 있습니다.libraryUtil.checkTypeMultiForIndex인수가 처음 사용된 후.2001:4644:13BE:0:E955:D3DE:360E:9F1D (토크) 17:06, 2022년 12월 18일 (UTC) [
활자를 짜다
표준 기능을 다시 구현하는 것은 좋지 않은 일이며, 코드를 취약하게 만들고, 휴대할 수 없으며, 관련이 없는 코드가 동일한 컨텍스트에서 실행될 수 없게 만들 수 있기 때문에 사용하기에 완전히 위험합니다.이는 모듈에 영향을 미칩니다.제목 페이지에 있는 것에 추가하여 Lua_set.2001:4644:13BE:0:E955:D3DE:360E:9F1D (토크) 17:12, 2022년 12월 18일 (UTC) [
리팩터 클래스, 생성자도 있을 수 있습니다.
그class함수는 매우 복잡합니다.그constructor또한 너무 복잡하다는 경계. 2001:4644:13BE:0:E955:D3DE:360E:9F1D (토크) 18:29, 2022년 12월 18일 (UTC []
