-- 모듈:예시 — 이 위키의 견본 모듈 -- 「함수이름 = 식」을 한 줄에 하나씩 씁니다. arg1, arg2 … 는 문서에서 넘긴 인자입니다. 인사 = "안녕하세요, " .. arg1 .. "님!" 합계 = arg1 + arg2 곱 = arg1 * arg2


모듈:예시 — 모듈이 어떻게 동작하는지 보여 주는 견본입니다. 이 문서 위쪽(---- 윗부분)이 실제로 실행되는 코드이고, 아래는 설명입니다.

1. 모듈이 뭔가요[편집]§

틀이 모양을 만든다면, 모듈은 계산을 합니다. 틀만으로는 하기 힘든 일(값을 더하거나, 글자를 이어 붙이거나, 조건에 따라 다른 값을 내놓는 일)을 모듈에 맡깁니다.

모듈은 네 위키가 함께 씁니다. 틀과 마찬가지로 공유 문서라, 메인 위키에서만 편집할 수 있고 고치면 모든 위키에 반영됩니다.

2. 불러 쓰는 법[편집]§

{{#호출:모듈이름|함수이름|인자1|인자2}}

모듈:은 빼고 이름만 씁니다. 이 모듈은 예시이므로 N1가 됩니다.

쓰면나오는 값하는 일
{{#호출:예시|인사|에린}}⚠ Lua 실행 오류: 이름을 받아 인사말을 만듭니다
{{#호출:예시|합계|3|4}}⚠ Lua 실행 오류: 두 수를 더합니다
{{#호출:예시|곱|6|7}}⚠ Lua 실행 오류: 두 수를 곱합니다

가운데 칸은 지금 이 문서에서 실제로 실행된 결과입니다.

3. 코드 읽는 법[편집]§

인사 = "안녕하세요, " .. arg1 .. "님!"
  • 인사 — 함수 이름. N6의 두 번째 칸에 적는 이름입니다
  • arg1, arg2 … — 문서에서 넘긴 인자. 세 번째 칸부터 차례로 들어갑니다
  • .. — 글자를 이어 붙이는 기호(더하기가 아닙니다)
  • "…" — 글자는 큰따옴표로 감쌉니다. 숫자는 그냥 씁니다

4. 만들 때 지켜야 할 것[편집]§

이 서버에 Lua 확장이 있으면 진짜 Lua로 돌고, 없으면 간이 엔진으로 돕니다. 어느 쪽에서도 돌아가게 하려면 아래를 지키세요.

  • 한 줄에 함수이름 = 식 하나. 여러 줄에 걸친 함수는 간이 엔진이 못 읽습니다
  • 쓸 수 있는 것은 글자 잇기(..)와 사칙연산(+ - * /)뿐입니다
  • --로 시작하는 줄은 설명(주석)이라 실행되지 않습니다
  • 함수 이름은 한글도 됩니다

안 되는 예

if arg1 > 10 then ... end   ← 조건문은 간이 엔진이 못 읽습니다

조건이 필요하면 모듈 대신 틀의 {{#if:}}·{{#ifexpr:}}를 쓰세요(도움말의 「파서 함수」 문단).

5. 새 모듈 만들기[편집]§

  1. 모듈:이름 문서를 만듭니다(예: 모듈:계산)
  2. 위쪽에 함수이름 = 식을 줄마다 씁니다
  3. ----를 긋고 그 아래에 사용법을 적습니다 — 아래쪽은 코드로 실행되지 않습니다
  4. 문서에서 N10로 부릅니다

6. 잘 안 될 때[편집]§

  • 「함수를 찾을 수 없습니다」 — 함수 이름 철자를 확인하세요. 간이 엔진은 이름 = 식 형태만 인식합니다
  • 「식을 계산할 수 없습니다」 — 조건문·반복문 같은 복잡한 문법을 썼을 때 납니다. 위의 제한을 지켜 주세요
  • 「모듈 문서가 없습니다」모듈:을 뺀 이름을 썼는지 확인하세요(N11가 맞습니다)