본문으로 이동

모듈:Debug/설명문서

리버티게임, 모두가 만들어가는 자유로운 게임

이 문서는 모듈:Debug에 대한 설명문서입니다.

위키텍스트를 디버깅하는 데 도움을 주는 모듈입니다.

log[원본 편집]

{{#invoke:Debug|log|(제목)|(내용)}}

위키텍스트 중간의 내용을 편집창 하단의 Lua 기록에 남깁니다. 첫번째 인자에는 어디에서 발생한 로그인지 구분할 수 있는 로그의 제목을 입력하고, 두번째 인자에는 로그와 그 자리에 반환될 내용을 입력합니다. 만약 로그만 남기고 아무 내용이 남지 않기를 원한다면 제목만 입력하면 됩니다.

아래의 예시에서 [낙서장에서 확인] 버튼을 눌러서 로그를 꼭 확인해 주세요.

code_blocks 코드
{{#invoke:Debug|log|제목|내용}}
code
낙서장에서 확인
description 결과
내용
code_blocks 코드
{{#invoke:Debug|log|제목만}}
code
낙서장에서 확인
description 결과
code_blocks 코드
{{#invoke:Debug|log||내용만}}
code
낙서장에서 확인
description 결과
내용만

logCall[원본 편집]

{{#invoke:Debug|logCall|(제목)|(틀 및 함수 이름)|...(인자)}}

틀이나 파서 함수의 인자와 실행 결과를 편집창 하단의 Lua 기록에 남깁니다. 첫번째 인자에는 어디에서 발생한 로그인지 구분할 수 있는 로그의 제목을 입력하고, 두번째 인자에는 틀이나 파서 함수의 이름을, 그 다음에는 틀이나 파서 함수에 넘겨줄 인자들을 입력합니다. 다시 말해, 틀이나 파서 함수 앞부분에 #invoke:Debug|logCall|(제목)|를 추가하면 되겠습니다. 단, 숫자로 된 인자를 직접 사용할 경우 2씩 더해야 합니다.

아래의 예시에서 [낙서장에서 확인] 버튼을 눌러서 로그를 꼭 확인해 주세요.

code_blocks 코드
{{#invoke:Debug|logCall|틀 실행|틀|CGI}}
code
낙서장에서 확인
description 결과
{{CGI}}
code_blocks 코드
{{#invoke:Debug|logCall|틀 실행 (인자 지정)|틀|3=<!-- 1 + 2 = 3 -->CGI}}
code
낙서장에서 확인
description 결과
{{CGI}}
code_blocks 코드
{{#invoke:Debug|logCall|파서 함수 실행|#urlget:action}}
code
낙서장에서 확인
description 결과

try[원본 편집]

{{#invoke:Debug|try|(제목)|(내용)}}

첫번째 인자에는 어디에서 발생한 로그인지 구분할 수 있는 로그의 제목을 입력하고, 두번째 인자에는 에러가 있는지 확인할 내용을 입력합니다. 내용에 에러 메시지가 포함되어 있으면 편집창 하단의 Lua 기록에 남깁니다. 모듈을 사용한 자리에는 내용이 그대로 반환됩니다.

아래의 예시에서 [낙서장에서 확인] 버튼을 눌러서 로그를 꼭 확인해 주세요.

code_blocks 코드
{{#invoke:Debug|try|오류 없음|정상}}
code
낙서장에서 확인
description 결과
정상
code_blocks 코드
{{#invoke:Debug|try|오류 발생|2=<strong class="error">오류 메시지</strong>}}
code
낙서장에서 확인
description 결과
오류 메시지

tryCall[원본 편집]

{{#invoke:Debug|tryCall|(제목)|(틀 및 함수 이름)|...(인자)}}

첫번째 인자에는 어디에서 발생한 로그인지 구분할 수 있는 로그의 제목을 입력하고, 두번째 인자에는 틀 및 함수 이름을, 그 다음에는 틀이나 파서 함수에 넘겨줄 인자들을 입력합니다. 그러면 틀이나 함수를 실행해서 오류가 발생하는지 확인하고, 오류가 발생하면 편집창 하단의 Lua 기록에 남깁니다. 모듈을 사용한 자리에는 틀이나 함수를 실행한 결과가 그대로 반환됩니다. 다시 말해, 틀이나 파서 함수 앞부분에 #invoke:Debug|tryCall|(제목)|를 추가하면 되겠습니다. 단, 숫자로 된 인자를 직접 사용할 경우 2씩 더해야 합니다.

아래의 예시에서 [낙서장에서 확인] 버튼을 눌러서 로그를 꼭 확인해 주세요.

code_blocks 코드
{{#invoke:Debug|tryCall|expr 정상|#expr:1+1}}
code
낙서장에서 확인
description 결과
2
code_blocks 코드
{{#invoke:Debug|tryCall|expr 오류|#expr:1/0}}
code
낙서장에서 확인
description 결과
0으로 나눴습니다.

assert[원본 편집]

{{#invoke:Debug|assert|(제목)|(예상)|(결과)}}

두 값이 일치하는 지 확인하고, 일치하지 않으면 편집창 하단의 Lua 기록에 남깁니다. 첫번째 인자에는 어디에서 발생한 로그인지 구분할 수 있는 로그의 제목을 입력하고, 두번째 인자에는 예상된 값을, 세번째 인자에는 테스트할 값을 입력합니다. 두번째 인자와 세번째 인자가 일치하지 않으면 로그에 남으며, 로그에서 두번째 인자의 내용은 Expected: 옆에, 세번째 인자의 내용은 Actual: 옆에 출력됩니다. 일치 여부와 상관없이, 모듈이 사용된 자리에는 항상 세번째 인자가 그대로 반환됩니다.

아래의 예시에서 [낙서장에서 확인] 버튼을 눌러서 로그를 꼭 확인해 주세요.

code_blocks 코드
{{#invoke:Debug|assert|1+1{{=}}2|2|{{#expr:1+1}}}}
code
낙서장에서 확인
description 결과
2
code_blocks 코드
{{#invoke:Debug|assert|1+1{{=}}3|3|{{#expr:1+1}}}}
code
낙서장에서 확인
description 결과
2

assertCall[원본 편집]

{{#invoke:Debug|assertCall|(제목)|(예상)|(틀 및 함수 이름)|...(인자)}}

틀이나 파서 함수의 결과가 예상한 값과 일치하는 지 확인하고, 일치하지 않으면 편집창 하단의 Lua 기록에 남깁니다. 첫번째 인자에는 어디에서 발생한 로그인지 구분할 수 있는 로그의 제목을 입력하고, 두번째 인자에는 예상된 값을 입력합니다. 세번째 인자에는 틀 및 함수 이름을, 그 다음에는 틀이나 파서 함수에 넘겨줄 인자들을 입력합니다. 다시 말해, 틀이나 파서 함수 앞부분에 #invoke:Debug|assertCall|(제목)|(예상 값)|를 추가하면 되겠습니다. 단, 숫자로 된 인자를 직접 사용할 경우 3씩 더해야 합니다. 로그에서 예상된 값은 expected 키에, 실제 반환된 겂은 returns 키에 저장되어 있습니다.

아래의 예시에서 [낙서장에서 확인] 버튼을 눌러서 로그를 꼭 확인해 주세요.

code_blocks 코드
{{#invoke:Debug|assertCall|#expr: 1+1{{=}}2|2|#expr:1+1}}
code
낙서장에서 확인
description 결과
2
code_blocks 코드
{{#invoke:Debug|assertCall|#expr: 1+1{{=}}3|3|#expr:1+1}}
code
낙서장에서 확인
description 결과
2