사용자:Hsl0/saves 규격

리버티게임, 모두가 만들어가는 자유로운 게임
< 사용자:Hsl0
Hsl0 (토론 | 기여)님의 2023년 9월 16일 (토) 16:23 판 (새 문서: == 경로 문법 == 경로 문법은 다양한 문서 제목을 효율적으로 지정할 수 있고, 평범한 문서 제목을 입력하는데 방해되지 않도록 정규표현식 문법에서 착안하여 제목에 사용되지 않는 기호들을 활용한 특수한 문법을 사용합니다. === 접두어 === 사용자 문서의 하위 문서를 가리킬 때 사용자 이름을 작성할 필요 없이 '사용자:'로만 시작하면 사용자가 지정한 게임 데이...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

경로 문법

경로 문법은 다양한 문서 제목을 효율적으로 지정할 수 있고, 평범한 문서 제목을 입력하는데 방해되지 않도록 정규표현식 문법에서 착안하여 제목에 사용되지 않는 기호들을 활용한 특수한 문법을 사용합니다.

접두어

사용자 문서의 하위 문서를 가리킬 때 사용자 이름을 작성할 필요 없이 '사용자:'로만 시작하면 사용자가 지정한 게임 데이터 저장 경로로 자동 치환됩니다. 다음 예시에서 데이터 저장 경로는 사용자:너/Data/이고, 게임 이름은 한게임 입니다.

  • 사용자: => 사용자:너/Data/한게임
  • 사용자:/DB.json => 사용자:너/Data/한게임/DB.json
  • 사용자:.json (X: 다른 게임과의 충돌을 야기할 수 있기 때문에 게임 이름과 동일한 상위문서와 그 하위문서만 가리킬 수 있습니다.)

경로가 복잡하다면, #으로 시작하는 별칭을 사용할 수 있습니다.

수량자

다음 기호를 {중괄호} 안에 입력하면 앞에 있는 부분(문자 하나, 그룹, 문자 클래스 등)을 일정 범위로 반복시킵니다.

  • ?: 0~1
  • +: 1~
  • *: 0~

{중괄호} 안에 숫자를 입력해 앞에 있는 부분을 해당 숫자만큼 반복하거나, 두개의 숫자를 입력하고 콤마(,)로 구분하여 반복하는 범위를 지정할 수 있습니다. 시작범위나 끝범위를 생략하여 특정 숫자 이하나 이상으로 반복시킬 수 있습니다.

  • {n}: n
  • {n,m}: n~m
  • {n,}: n~
  • {,m}: ~m

정규표현식 조각

{중괄호} 안에 정규식에서 그룹을 묶는 (괄호)나 여러 문자 중 하나를 선택하는 [대괄호]같이 괄호로 묶인 정규식 문법이나 역슬래시로 시작하는 \w 등의 문자 클래스, 임의의 문자를 의미하는 .과 이러한 문법 뒤의 수량자 기호만으로 이루어진 정규표현식을 그대로 넣을 수 있습니다.

다음은 예시입니다.

  • {(그룹)+}
  • {\w}
  • {[0-9]?}

여러 문자를 선택하는 [대괄호] 문법은 {중괄호} 없이 바로 사용할 수 있습니다. 다만, 수량자와 함께 사용하려면 [대괄호] 문법과 수량자 문법을 모두 {중괄호}로 묶거나, [대괄호] 문법 뒤에 수량자 문법만을 {중괄호}로 묶어야 합니다. [대괄호] 문법은 역슬래시로 시작하는 문자열 클래스도 포함시킬 수 있으므로 {중괄호}의 대안이 될 수 있습니다.

  • [a-z]{+}
  • [\d]{1,3}

정규표현식

대괄호 안에 슬래시(/) 기호를 넣고 그 사이에 더 복잡한 정규표현식을 그대로 넣을 수 있습니다. 슬래시 뒤에는 정규표현식의 작동방식을 수정하는 플래그를 지정할 수 있습니다.

  • {/(정규식{1,}|[a-z\d]+)?/i}

변수 및 상수

미리 지정된 상수를 대괄호를 통해 포함시킬 수 있습니다. 단, 다른 문법과 충돌되지 않도록 상수는 문자로 시작해야 하고, 슬래시(/), 역슬래시(\), 괄호, 수량자 기호를 포함시킬 수 없습니다. 다음은 상수 목록입니다.

  • {USERNAME} 사용자 이름