[task] | wikipedia [title] | 정규식 [category] | Guides [rephrased] | `ReplaceByEvaluator(String origin, function<RegexMatch>→string evaluator)` 메서드는 주어진 문자열(`origin`) 내에서 정규식 패턴과 일치하는 모든 항목을 `evaluator` 함수가 반환하는 문자열로 치환합니다. 이 과정에서 정규식 매칭이 실패하면 `nil`이 반환됩니다. 아래 예제에서는 `RegexOption.IgnorePatternWhitespace` 옵션을 사용하여 패턴의 공백을 무시하며, `evaluator` 함수는 매칭된 텍스트(`match.Text`)와 그 [original] | `ReplaceByEvaluator(String origin, function<RegexMatch>→string evaluator)`는 정규식 패턴과 일치하는 모든 항목을 evaluator로 반환된 문자열로 변경합니다. 정규식이 실패하면 nil이 반환됩니다. ```lua local origin = "letter alphabetical missing lack release penchant slack acryllic laundry cease" local pattern = "\\w+ " local regex = Regex(patte [chunk_id] | Guides:1041:3
[task] | knowledge_list [title] | 정규식 [category] | Guides [rephrased] | 제시된 문서에 포함된 정보만 기반으로 핵심 사실을 정리한 목록입니다. ```lua -- 문서에 명시된 API 및 동작에 대한 사실 목록 ``` 1. `Regex:Split(String origin)` 메서드는 정규식 패턴과 일치하는 항목을 기준으로 입력 문자열 `origin`을 분할하며, 정규식 매칭이 실패할 경우 `nil`을 반환합니다. 2. `Regex:Split(String origin, Int32 count)` 메서드는 정규식 패턴과 일치하는 항목을 기준으로 입력 문자열을 분할하되, 최대 `count`개까지만 분할하며, [original] | `Split(String origin)`는 정규식 패턴과 일치하는 항목을 기준으로 입력 문자열을 분할합니다. 정규식이 실패하면 nil이 반환됩니다. ```lua local origin = "plum-bear-pear" local pattern = "-" local regex = Regex(pattern) local texts = regex:Split(origin) log(#texts) -- 3 for i, text in pairs(texts) do log(text) end -- (결과) -- [chunk_id] | Guides:1041:4
[task] | diverse_qa [title] | 정규식 [category] | Guides [rephrased] | 질문: `IgnorePatternWhitespace` 옵션을 설정하지 않고 주어진 패턴으로 문장을 매칭할 때 몇 개의 매칭 결과를 반환합니까? 답변: 0개를 반환합니다. 질문: `IgnorePatternWhitespace` 옵션을 설정하면 정규식 패턴 내의 어떤 요소가 무시되나요? 답변: 이스케이프되지 않은 공백이 패턴에서 무시됩니다. 질문: `RightToLeft` 옵션을 사용했을 때 검색 방향은 어떻게 변경되나요? 답변: 왼쪽→오른쪽이 아니라 오른쪽→왼쪽으로 검색하도록 변경됩니다. 질문: 다음 코드에서 `noOptionRe [original] | 이스케이프되지 않은 공백을 패턴에서 무시합니다. ```lua -- IgnorePatternWhitespace 옵션 설정하지 않음 local pattern = "\\b \\(? ( (?>\\w+) ,?\\s? )+ [\\.!?] \\)? # Matches an entire sentence." local input = "This is the first sentence. Is it the beginning of a literary masterpiece? I think not. Instead, it is a nonsensical parag [chunk_id] | Guides:1041:5
[task] | extract_knowledge [title] | 렉트 타일 제작하기 [category] | Guides [rephrased] | # RectTileMap 타일 제작 가이드 (Adobe Photoshop 기준) 본 절에서는 `RectTileMap` 컴포넌트에서 사용할 2D 타일 이미지를 Adobe Photoshop으로 제작하는 표준 절차와 규격을 설명합니다. ## 1. 개념 및 타일 분류 `RectTileMap`은 맵을 구성하는 기본 단위인 타일(Tile)을 격자 형태로 배치하는 시스템입니다. 시각적 일관성과 플레이 경험의 명확성을 위해 타일은 다음과 같이 분류됩니다. 1. **기본 타일 (Basic Tile)** * **패턴이 없는 타일* [original] | # 학습 과정 안내 크리에이터의 월드에 어울리는 특색 있는 렉트 타일을 그리는 방법을 소개합니다. 크리에이터가 사용하기 편한 소프트웨어를 사용해 타일을 제작할 수 있습니다. 이 가이드는 Adobe Photoshop을 사용해 타일을 제작합니다. 제작한 시트는 [아틀라스 활용하기](/docs/?postId=687)를 참고해 이미지를 일정한 크기로 잘라 타일로 활용할 수 있습니다. ##### 참고 가이드 [RectTileMap의 활용](/docs/?postId=589) [아틀라스 활용하기](/docs/?postId=687) # 타일 [chunk_id] | Guides:1040:0
[task] | distill [title] | 정규식 [category] | Guides [rephrased] | ## 정규식 옵션 ### Multiline `^`와 `$`가 전체 문자열의 시작/끝이 아닌 **각 줄**의 시작/끝과 매치하게 됩니다. 줄은 `\n`으로 구분됩니다. ```lua local pattern = "^(?<Name>\\w+)\\s(?<Number>\\d+)$" local input = "Joe 164\nSam 208\nAllison 211\nGwen 171\n" -- 옵션 미사용: 0개 매치 local noOptionRegex = Regex(pattern) log(#noOptionRegex:Matches(input) [original] | 여러 줄로 구성된 입력 문자열을 처리할 수 있습니다. 원래 `^`와 `$`는 전체 입력 문자열의 시작과 끝 부분을 의미합니다. 하지만 `Multiline` 옵션을 사용하면 `^`와 `$`가 전체 입력 문자열이 아니라 각 줄의 시작과 끝 부분과 매치하게 됩니다. 각 줄은 줄 바꿈 문자 `\n`으로 구분합니다. ```lua -- Multiline 옵션 사용하지 않음 local pattern = "^(?<Name>\\w+)\\s(?<Number>\\d+)$" local input = "Joe 164\nSam 208\nAllison 21 [chunk_id] | Guides:1041:6
[task] | distill [title] | 정규식 [category] | Guides [rephrased] | # 정규식 (Regex) `Regex`는 정규식 패턴을 기반으로 문자열을 분할하거나 매칭하는 기능을 제공합니다. ## 문자열 분할 (Split) 정규식 패턴에 일치하는 위치를 기준으로 문자열을 배열로 분할합니다. **정규식이 실패하면 `nil`을 반환합니다.** ### 시그니처 | 메서드 | 설명 | | :--- | :--- | | `Split(String origin)` | 전체 문자열을 패턴 기준으로 분할 | | `Split(String origin, Int32 count)` | 최대 `count`개까지만 분할 | | [original] | `Split(String origin)`는 정규식 패턴과 일치하는 항목을 기준으로 입력 문자열을 분할합니다. 정규식이 실패하면 nil이 반환됩니다. ```lua local origin = "plum-bear-pear" local pattern = "-" local regex = Regex(pattern) local texts = regex:Split(origin) log(#texts) -- 3 for i, text in pairs(texts) do log(text) end -- (결과) -- [chunk_id] | Guides:1041:4
[task] | knowledge_list [title] | 정규식 [category] | Guides [rephrased] | * `Regex(pattern)` 생성자는 정규식 패턴 문자열을 받아 객체를 생성하며, 두 번째 선택 매개변수로 `RegexOption` 상수를 전달하여 동작을 설정할 수 있습니다. * `Regex:Matches(input)` 메서드는 대상 문자열에서 패턴에 일치하는 모든 인스턴스를 검색하여 결과 테이블을 반환합니다. * `RegexOption.IgnorePatternWhitespace` 옵션을 적용하면 패턴 문자열 내의 이스케이프되지 않은 공백이 패턴 매칭 시 무시되어, 패턴 가독성을 위해 넣은 공백이 실제 문자열 매칭 [original] | 이스케이프되지 않은 공백을 패턴에서 무시합니다. ```lua -- IgnorePatternWhitespace 옵션 설정하지 않음 local pattern = "\\b \\(? ( (?>\\w+) ,?\\s? )+ [\\.!?] \\)? # Matches an entire sentence." local input = "This is the first sentence. Is it the beginning of a literary masterpiece? I think not. Instead, it is a nonsensical parag [chunk_id] | Guides:1041:5
[task] | distill [title] | 정규식 [category] | Guides [rephrased] | ## 정규식 옵션 (RegexOption) ### IgnorePatternWhitespace 패턴 내 이스케이프되지 않은 공백을 무시합니다. ```lua local pattern = "\\b \\(? ( (?>\\w+) ,?\\s? )+ [\\.!?] \\)? # Matches an entire sentence." local input = "This is the first sentence. Is it the beginning of a literary masterpiece? I think not. Instead, it is a no [original] | 이스케이프되지 않은 공백을 패턴에서 무시합니다. ```lua -- IgnorePatternWhitespace 옵션 설정하지 않음 local pattern = "\\b \\(? ( (?>\\w+) ,?\\s? )+ [\\.!?] \\)? # Matches an entire sentence." local input = "This is the first sentence. Is it the beginning of a literary masterpiece? I think not. Instead, it is a nonsensical parag [chunk_id] | Guides:1041:5
[task] | wikipedia [title] | 정규식 [category] | Guides [rephrased] | `RegexOption`은 정규식 엔진의 동작 방식을 제어하는 옵션으로, 여러 옵션을 비트 OR(`|`) 연산자를 사용하여 하나의 값으로 결합하여 적용할 수 있습니다. 이를 통해 줄 처리 방식, 검색 방향, 대소문자 구분 여부를 동시에 지정할 수 있습니다. 다음 코드 예제는 `RegexOption.Singleline`, `RegexOption.RightToLeft`, `RegexOption.IgnoreCase` 옵션을 결합하여 정규식을 생성하고, 이를 통해 문자열 매칭을 수행하는 과정을 보여줍니다. ```lua local reg [original] | `RegexOption`은 한 번에 여러 가지를 적용할 수 있습니다. ```lua local regex = Regex("line\\w+", RegexOption.Singleline | RegexOption.RightToLeft | RegexOption.IgnoreCase) local matches = regex:Matches("lineFirst \n LineSecond \n LineLast") for i, match in pairs(matches) do log(match.Text) end -- [chunk_id] | Guides:1041:7
[task] | knowledge_list [title] | 정규식 [category] | Guides [rephrased] | - `Regex` 생성자는 정규식 패턴 문자열을 첫 번째 인자로, 선택적으로 `RegexOption` 타입의 옵션을 두 번째 인자로 받아 정규식 객체를 반환하며, 기본 상태에서는 옵션이 적용되지 않습니다. - 정규식 객체의 `Matches` 메서드는 입력 문자열 인자를 받아 매칭된 결과를 배열(table)로 반환하며, `Multiline` 옵션이 적용되지 않은 기본 상태에서는 `^`와 `$`가 전체 입력 문자열의 시작과 끝에만 매치하여 여러 줄인 입력은 매칭되지 않고 빈 배열을 반환합니다. - `RegexOption.Multilin [original] | 여러 줄로 구성된 입력 문자열을 처리할 수 있습니다. 원래 `^`와 `$`는 전체 입력 문자열의 시작과 끝 부분을 의미합니다. 하지만 `Multiline` 옵션을 사용하면 `^`와 `$`가 전체 입력 문자열이 아니라 각 줄의 시작과 끝 부분과 매치하게 됩니다. 각 줄은 줄 바꿈 문자 `\n`으로 구분합니다. ```lua -- Multiline 옵션 사용하지 않음 local pattern = "^(?<Name>\\w+)\\s(?<Number>\\d+)$" local input = "Joe 164\nSam 208\nAllison 21 [chunk_id] | Guides:1041:6
[task] | extract_knowledge [title] | 정규식 [category] | Guides [rephrased] | # 정규식 문자열 대체 (Replace) ## 개념 설명 `Replace` 메서드는 `Regex` 객체를 통해 입력 문자열(`origin`)에서 정규식 패턴과 일치하는 부분들을 찾아 지정한 대체 문자열(`replacement`)로 치환하는 기능을 제공합니다. 치환 범위는 전체 문자열, 지정된 개수(`count`), 또는 지정된 시작 위치(`startIndex`)부터의 부분으로 제어할 수 있습니다. ## API 사용법 ### 1. 전체 치환 ``` Regex:Replace(String origin, String replaceme [original] | `Replace(String origin, String replacement)`는 입력 문자열에서 정규식 패턴과 일치하는 모든 항목을 대체 문자열(replacement)로 변경합니다. ```lua -- 일반 local origin = "This is text with far too much white space." local pattern = "\\s+" local regex = Regex(pattern) local result = regex:Replace(origin, " ") log(result) -- [chunk_id] | Guides:1041:2
[task] | diverse_qa [title] | 정규식 [category] | Guides [rephrased] | 질문: `ReplaceByEvaluator(String origin, function<RegexMatch>→string evaluator)` 메서드는 어떤 동작을 수행하나요? 답변: 이 메서드는 정규식 패턴과 일치하는 모든 항목을 evaluator 함수에서 반환된 문자열로 변경하며, 정규식 매칭이 실패하면 nil을 반환합니다. 질문: `ReplaceByEvaluator` 메서드에서 정규식 매칭이 실패할 때 반환값은 무엇인가요? 답변: nil이 반환됩니다. 질문: 아래 코드의 `evaluator` 함수는 매칭된 텍스트에 대해 어떤 [original] | `ReplaceByEvaluator(String origin, function<RegexMatch>→string evaluator)`는 정규식 패턴과 일치하는 모든 항목을 evaluator로 반환된 문자열로 변경합니다. 정규식이 실패하면 nil이 반환됩니다. ```lua local origin = "letter alphabetical missing lack release penchant slack acryllic laundry cease" local pattern = "\\w+ " local regex = Regex(patte [chunk_id] | Guides:1041:3
[task] | wikipedia [title] | 정규식 [category] | Guides [rephrased] | `Split(String origin)` 메서드는 정규식 패턴과 일치하는 항목을 기준으로 입력 문자열을 분할합니다. 정규식 처리가 실패하는 경우 nil이 반환됩니다. ```lua local origin = "plum-bear-pear" local pattern = "-" local regex = Regex(pattern) local texts = regex:Split(origin) log(#texts) -- 3 for i, text in pairs(texts) do log(text) end [original] | `Split(String origin)`는 정규식 패턴과 일치하는 항목을 기준으로 입력 문자열을 분할합니다. 정규식이 실패하면 nil이 반환됩니다. ```lua local origin = "plum-bear-pear" local pattern = "-" local regex = Regex(pattern) local texts = regex:Split(origin) log(#texts) -- 3 for i, text in pairs(texts) do log(text) end -- (결과) -- [chunk_id] | Guides:1041:4
[task] | knowledge_list [title] | 정규식 [category] | Guides [rephrased] | 1. `RegexOption`은 `|` 연산자를 사용하여 `RegexOption.Singleline`, `RegexOption.RightToLeft`, `RegexOption.IgnoreCase` 등 여러 옵션을 동시에 적용할 수 있습니다. 2. `Regex` 생성자는 정규식 문자열과 적용할 `RegexOption` 플래그를 매개변수로 받아 정규식 객체를 반환합니다. 3. `Regex` 객체의 `Matches` 메서드는 대상 문자열을 매개변수로 받아 일치하는 항목들을 테이블 형태로 반환하며, 각 항목에는 매칭된 텍스트를 담는 `Te [original] | `RegexOption`은 한 번에 여러 가지를 적용할 수 있습니다. ```lua local regex = Regex("line\\w+", RegexOption.Singleline | RegexOption.RightToLeft | RegexOption.IgnoreCase) local matches = regex:Matches("lineFirst \n LineSecond \n LineLast") for i, match in pairs(matches) do log(match.Text) end -- [chunk_id] | Guides:1041:7
[task] | diverse_qa [title] | 정규식 [category] | Guides [rephrased] | 질문: `Split(String origin)` 메서드가 정규식 패턴과 일치하는 항목을 기준으로 문자열을 분할할 때, 정규식이 실패하면 어떤 값이 반환됩니까? 답변: 정규식이 실패하면 nil이 반환됩니다. 질문: 다음 코드의 실행 결과 `#texts`의 값은 얼마이며, 각 요소는 무엇입니까? ```lua local origin = "plum-bear-pear" local pattern = "-" local regex = Regex(pattern) local texts = regex:Split(origin) ``` 답변: `#tex [original] | `Split(String origin)`는 정규식 패턴과 일치하는 항목을 기준으로 입력 문자열을 분할합니다. 정규식이 실패하면 nil이 반환됩니다. ```lua local origin = "plum-bear-pear" local pattern = "-" local regex = Regex(pattern) local texts = regex:Split(origin) log(#texts) -- 3 for i, text in pairs(texts) do log(text) end -- (결과) -- [chunk_id] | Guides:1041:4
[task] | extract_knowledge [title] | 한벌옷 만들기 [category] | Guides [rephrased] | 제시된 문서는 mLua 스크립트 언어, API, 또는 코드 예제를 포함하지 않습니다. 해당 문서는 메이플스토리 월드의 에셋(아바타 아이템)을 이미지 편집 도구(Photoshop 등)를 사용하여 시각적으로 제작하는 그래픽 작업 가이드입니다. 따라서 요청하신 "mLua 스크립트 규칙", "API 사용법", "코드 예제"를 추출하거나 생성할 수 있는 정보가 원문에 존재하지 않습니다. 또한, 지시 사항에 따라 "원문에 없는 사실·API·코드 예제를 지어내지 않는다"는 원칙을 준수해야 하므로, 이 문서 내용을 mLua 프로그래밍 교과서 형 [original] | 기본 우주복을 바탕으로 무늬를 지우고 귀여운 민소매 한벌옷을 제작해봅시다. | 기본 한벌옷 | 민소매 한벌옷 | | --- | --- | | | | #### 민소매 만들기 1. 노란색 레이어 3번부터 5번 레이어를 소매를 지워줍니다. > **더 알아보기** > 선택한 레이어의 모든 기본 이미지를 지울 때는 **ctrl + a**로 전체 선택 후 **Delete** 키를 눌러 삭제할 수 있습니다. 2. 노란색 레이어 1번과 2번을 선택하여 이미지 작업을 합니다. 3. 1번 레이어에서 Pe [chunk_id] | Guides:1042:1
[task] | distill [title] | 한벌옷 만들기 [category] | Guides [rephrased] | # 민소매 한벌옷 제작 가이드 기본 우주복을 기반으로 소매를 제거하여 민소매 한벌옷을 제작합니다. ## 1. 소매 레이어 삭제 * **대상 레이어**: 노란색 레이어 3, 4, 5번 * **작업**: 해당 레이어의 모든 이미지를 삭제합니다. * *단축키*: `Ctrl + A` (전체 선택) 후 `Delete` 키 입력 ## 2. 무늬 제거 및 윤곽 수정 * **대상 레이어**: 노란색 레이어 1, 2번 * **도구**: Pencil tool * **작업**: 1. 1번 레이어: 무늬 지우기 [original] | 기본 우주복을 바탕으로 무늬를 지우고 귀여운 민소매 한벌옷을 제작해봅시다. | 기본 한벌옷 | 민소매 한벌옷 | | --- | --- | | | | #### 민소매 만들기 1. 노란색 레이어 3번부터 5번 레이어를 소매를 지워줍니다. > **더 알아보기** > 선택한 레이어의 모든 기본 이미지를 지울 때는 **ctrl + a**로 전체 선택 후 **Delete** 키를 눌러 삭제할 수 있습니다. 2. 노란색 레이어 1번과 2번을 선택하여 이미지 작업을 합니다. 3. 1번 레이어에서 Pe [chunk_id] | Guides:1042:1
[task] | diverse_qa [title] | 정규식 [category] | Guides [rephrased] | 질문: `RegexOption`은 어떻게 여러 옵션을 동시에 적용할 수 있는가? 답변: `RegexOption`은 비트 연산자인 `|` (OR)를 사용하여 여러 옵션을 결합함으로써 한 번에 여러 가지를 적용할 수 있습니다. 질문: 아래 코드에서 `RegexOption.Singleline`, `RegexOption.RightToLeft`, `RegexOption.IgnoreCase`가 함께 사용되었을 때, 입력 문자열 "lineFirst \n LineSecond \n LineLast"에 대한 매칭 결과는 어떤 순서로 출력되는가? ` [original] | `RegexOption`은 한 번에 여러 가지를 적용할 수 있습니다. ```lua local regex = Regex("line\\w+", RegexOption.Singleline | RegexOption.RightToLeft | RegexOption.IgnoreCase) local matches = regex:Matches("lineFirst \n LineSecond \n LineLast") for i, match in pairs(matches) do log(match.Text) end -- [chunk_id] | Guides:1041:7
[task] | knowledge_list [title] | 한벌옷 만들기 [category] | Guides [rephrased] | 제시된 문서는 그래픽 에디터(페인트 도구)를 활용한 아바타 아이템(민소매 한벌옷)의 **수작업 프로세스**와 **레이어 배치 규칙**에 대한 가이드이며, mLua 스크립트 언어, API 함수, 매개변수, 반환 타입, 또는 서버/클라이언트 동기화 제약 사항과 관련된 기술적 사실은 포함되어 있지 않습니다. 따라서 요청하신 "API 이름·매개변수·반환 타입·동기화/서버·클라이언트 제약을 명시"한 mLua 기술 문서 추출은 불가능합니다. 대신, 문서에 명시된 **그래픽 제작 규칙과 예외 사항**만을 독립된 문장으로 정리해 드립니다. 1 [original] | 기본 우주복을 바탕으로 무늬를 지우고 귀여운 민소매 한벌옷을 제작해봅시다. | 기본 한벌옷 | 민소매 한벌옷 | | --- | --- | | | | #### 민소매 만들기 1. 노란색 레이어 3번부터 5번 레이어를 소매를 지워줍니다. > **더 알아보기** > 선택한 레이어의 모든 기본 이미지를 지울 때는 **ctrl + a**로 전체 선택 후 **Delete** 키를 눌러 삭제할 수 있습니다. 2. 노란색 레이어 1번과 2번을 선택하여 이미지 작업을 합니다. 3. 1번 레이어에서 Pe [chunk_id] | Guides:1042:1
[task] | extract_knowledge [title] | 정규식 [category] | Guides [rephrased] | # 정규식 옵션 (RegexOption) ## 개념 설명 `RegexOption`은 정규식 매칭 시 적용할 특수 규칙을 정의합니다. 여러 옵션을 동시에 적용하려면 비트 연산자 `|` (OR)를 사용하여 조합할 수 있습니다. * **Singleline**: 점(`.`)이 개행 문자(`\n`)까지도 매칭하도록 합니다. * **RightToLeft**: 문자열의 오른쪽에서 왼쪽으로 매칭을 수행합니다. * **IgnoreCase**: 대소문자를 구별하지 않고 매칭합니다. ## API 사용법 `Regex` 생성자에서 두 번째 [original] | `RegexOption`은 한 번에 여러 가지를 적용할 수 있습니다. ```lua local regex = Regex("line\\w+", RegexOption.Singleline | RegexOption.RightToLeft | RegexOption.IgnoreCase) local matches = regex:Matches("lineFirst \n LineSecond \n LineLast") for i, match in pairs(matches) do log(match.Text) end -- [chunk_id] | Guides:1041:7
[task] | diverse_qa [title] | 정규식 [category] | Guides [rephrased] | 질문: `Multiline` 옵션을 사용하지 않을 때 `^`와 `$`는 무엇을 의미합니까? 답변: `^`와 `$`는 전체 입력 문자열의 시작과 끝 부분을 의미합니다. 질문: `Multiline` 옵션을 사용할 때 `^`와 `$`의 매칭 대상은 어떻게 변합니까? 답변: `^`와 `$`는 전체 입력 문자열이 아니라 각 줄의 시작과 끝 부분과 매치하게 됩니다. 질문: `Multiline` 옵션을 사용할 때 각 줄은 어떤 문자로 구분합니까? 답변: 각 줄은 줄 바꿈 문자 `\n`으로 구분합니다. 질문: 아래 코드는 무엇을 수행합니까? [original] | 여러 줄로 구성된 입력 문자열을 처리할 수 있습니다. 원래 `^`와 `$`는 전체 입력 문자열의 시작과 끝 부분을 의미합니다. 하지만 `Multiline` 옵션을 사용하면 `^`와 `$`가 전체 입력 문자열이 아니라 각 줄의 시작과 끝 부분과 매치하게 됩니다. 각 줄은 줄 바꿈 문자 `\n`으로 구분합니다. ```lua -- Multiline 옵션 사용하지 않음 local pattern = "^(?<Name>\\w+)\\s(?<Number>\\d+)$" local input = "Joe 164\nSam 208\nAllison 21 [chunk_id] | Guides:1041:6
[task] | distill [title] | 한벌옷 만들기 [category] | Guides [rephrased] | # 아바타 한벌옷 제작 가이드 ## 개요 한벌옷은 상의와 동일한 구조를 가지며, 상하 연결된 의상 작업이 가능합니다. 아바타 아이템 기본 개념을 사전에 숙지해야 합니다. ## 사전 준비 * **도구**: Adobe Photoshop * **파일**: `Avatar_Longcoat.psd` * **권장 작업 영역**: 아바타 발 기준 최대 120x120 ## 시트 구성 및 규칙 ### 공통 규칙 * **레이어 이름 수정/삭제 금지**: 아이템 등록 불가. * **회색 레이어(잠김)**: 수정 불가. 데이터화 [original] | # 학습 과정 소개 한벌옷의 제작 방법을 알아봅시다. 한벌옷은 상의와 같은 구조로 구성되어 있으며 상하가 연결된 모든 의상 작업이 가능합니다. [아바타 아이템 제작의 기본 개념](docs/?postId=588)을 참고해 아바타의 기본 개념을 먼저 숙지하길 바랍니다. # 사전 준비 아이템 제작을 위해선 Adobe Photoshop이 필요합니다. 해당 소프트웨어를 설치한 후 아래 파일을 받아 엽니다. $$attachFile {"name":"Avatar_Longcoat.psd","url":"https://mod-file.dn.ne [chunk_id] | Guides:1042:0
[task] | wikipedia [title] | 한벌옷 만들기 [category] | Guides [rephrased] | # 아바타 아이템 제작: 한벌옷 만들기 본 문서는 메이플스토리 월드 아바타 아이템 제작 가이드 중 리소스 제작 파트의 일부로, 기본 우주복 템플릿을 기반으로 무늬를 제거하고 귀여운 스타일의 민소매 한벌옷을 제작하는 과정을 다룹니다. ## 제작 개요 기본 우주복 이미지를 수정하여 민소매 한벌옷으로 변환하는 작업을 수행합니다. 이 과정에서는 원본 모델의 소매 부분을 삭제하고, 목과 팔 라인을 조정하여 새로운 디자인을 구현합니다. ## 민소매 한벌옷 제작 절차 민소매 한벌옷을 만들기 위해 다음과 같은 순서로 이미지를 편집합니다. [original] | 기본 우주복을 바탕으로 무늬를 지우고 귀여운 민소매 한벌옷을 제작해봅시다. | 기본 한벌옷 | 민소매 한벌옷 | | --- | --- | | | | #### 민소매 만들기 1. 노란색 레이어 3번부터 5번 레이어를 소매를 지워줍니다. > **더 알아보기** > 선택한 레이어의 모든 기본 이미지를 지울 때는 **ctrl + a**로 전체 선택 후 **Delete** 키를 눌러 삭제할 수 있습니다. 2. 노란색 레이어 1번과 2번을 선택하여 이미지 작업을 합니다. 3. 1번 레이어에서 Pe [chunk_id] | Guides:1042:1
[task] | extract_knowledge [title] | 정규식 [category] | Guides [rephrased] | # 정규식 치환: ReplaceByEvaluator `Regex` 객체의 `ReplaceByEvaluator` 메서드는 주어진 문자열(`origin`) 내에서 정규식 패턴과 일치하는 부분을 사용자 정의 함수(`evaluator`)의 반환 값으로 치환합니다. 이 메서드는 매개변수 개수에 따라 모든 일치 항목, 특정 개수의 항목, 또는 특정 위치부터의 항목을 선택적으로 치환할 수 있습니다. 정규식 매칭이 실패하면 메서드는 `nil`을 반환합니다. ## API 사용법 `ReplaceByEvaluator` 메서드는 다음과 같은 세 가 [original] | `ReplaceByEvaluator(String origin, function<RegexMatch>→string evaluator)`는 정규식 패턴과 일치하는 모든 항목을 evaluator로 반환된 문자열로 변경합니다. 정규식이 실패하면 nil이 반환됩니다. ```lua local origin = "letter alphabetical missing lack release penchant slack acryllic laundry cease" local pattern = "\\w+ " local regex = Regex(patte [chunk_id] | Guides:1041:3
[task] | knowledge_list [title] | 정규식 언어 [category] | Guides [rephrased] | 제시된 문서에는 mLua 스크립트 언어나 메이플스토리 월드 API에 대한 정보가 포함되어 있지 않습니다. 해당 문서는 '정규식(Regular Expression)' 문법(문자 클래스, 이스케이프 등)을 설명하는 일반 프로그래밍 가이드일 뿐이며, mLua의 컴포넌트 구조(Property/Method/Event Handler), 서비스(_UserService 등), 또는 엔티티 조작 API를 다루지 않습니다. 따라서 요청하신 **"mLua 스크립트 규칙"** 및 **"메이플스토리 월드 API 문서"** 기준으로 핵심 사실을 추출할 수 [original] | # 학습 과정 소개 정규식은 입력 텍스트에서 찾으려는 패턴을 의미합니다. 본 과정에서는 정규식을 정의할 때 사용할 수 있는 특정 범주의 문자, 연산자 및 구분을 안내합니다. # 문자 클래스 문자 클래스(Character Classes)는 문자 집합 중 하나를 찾습니다. | 문자 클래스 | 설명 | 무늬 | 일치 항목 | | -- | -- | -- | -- | | `[`*character_group*`]` | *character_group* 내의 모든 단일 문자와 일치하는 항목을 찾습니다. 기본적으로 대/소문자를 구분합니다. | [chunk_id] | Guides:1043:0
[task] | wikipedia [title] | 정규식 [category] | Guides [rephrased] | # 정규식 옵션: Multiline, Singleline 및 다중 적용 mLua의 `Regex` API는 다양한 옵션(`RegexOption`)을 제공하여 정규식의 매칭 방식을 제어할 수 있습니다. 주요 옵션 중 `Multiline`과 `Singleline`은 각각 입력 문자열의 줄 처리 방식을 변경하며, 이들은 단독으로 사용하거나 동시에 적용할 수 있습니다. ## Multiline 옵션 `Multiline` 옵션은 여러 줄로 구성된 입력 문자열을 처리할 때 사용합니다. 기본적으로 정규식에서 `^`와 `$`는 각각 전체 입력 [original] | 여러 줄로 구성된 입력 문자열을 처리할 수 있습니다. 원래 `^`와 `$`는 전체 입력 문자열의 시작과 끝 부분을 의미합니다. 하지만 `Multiline` 옵션을 사용하면 `^`와 `$`가 전체 입력 문자열이 아니라 각 줄의 시작과 끝 부분과 매치하게 됩니다. 각 줄은 줄 바꿈 문자 `\n`으로 구분합니다. ```lua -- Multiline 옵션 사용하지 않음 local pattern = "^(?<Name>\\w+)\\s(?<Number>\\d+)$" local input = "Joe 164\nSam 208\nAllison 21 [chunk_id] | Guides:1041:6
[task] | extract_knowledge [title] | 정규식 [category] | Guides [rephrased] | # mLua 정규식(Regex) API 사용법 mLua에서는 `Regex` 객체를 생성하여 문자열 내에서 정규식 패턴을 기반으로 검색 및 대체 작업을 수행합니다. 주요 기능은 `Match`와 `Matches` 메서드를 통해 제공되며, 매개변수에 따라 검색 범위를 지정할 수 있습니다. ## 1. 개념 설명 ### Match `Match` 메서드는 입력 문자열에서 정규식 패턴과 일치하는 **첫 번째** 항목(또는 반복적으로 다음 항목)을 검색합니다. * **`Match(String origin)`**: 입력 문자열 전체에서 첫 [original] | `Match(String origin)`는 입력 문자열에서 정규식 패턴과 일치하는 첫 항목을 검색합니다. ```lua local input = "One car red car blue car" local pattern = "(\\w+)\\s+(car)" local regex = Regex(pattern, RegexOption.IgnoreCase) local match = regex:Match(input) while match.Success do log(match.Text) match = match:Ne [chunk_id] | Guides:1041:1
[task] | wikipedia [title] | 정규식 [category] | Guides [rephrased] | # 정규식 옵션 mLua의 정규식(`Regex`) 기능은 패턴 매칭 동작을 제어하기 위한 여러 옵션을 제공합니다. 각 옵션은 `Regex` 생성자에서 `RegexOption` 상수를 통해 지정되며, 매칭 방향, 캡처 범위, 패턴 해석 방식 등에 영향을 미칩니다. ## IgnorePatternWhitespace `IgnorePatternWhitespace` 옵션은 정규식 패턴 내의 이스케이프되지 않은 공백 문자를 무시하도록 설정합니다. 이 옵션을 적용하면 개발자는 가독성을 높이기 위해 패턴에 공백을 삽입할 수 있으며, 엔진은 이 [original] | 이스케이프되지 않은 공백을 패턴에서 무시합니다. ```lua -- IgnorePatternWhitespace 옵션 설정하지 않음 local pattern = "\\b \\(? ( (?>\\w+) ,?\\s? )+ [\\.!?] \\)? # Matches an entire sentence." local input = "This is the first sentence. Is it the beginning of a literary masterpiece? I think not. Instead, it is a nonsensical parag [chunk_id] | Guides:1041:5
[task] | extract_knowledge [title] | 정규식 [category] | Guides [rephrased] | # 정규식 문자열 분할 (Split) 및 옵션 설정 ## 1. 개념 설명 메이플스토리 월드(mLua)의 `Regex` 객체는 정규식 패턴을 기반으로 문자열을 조작하는 기능을 제공합니다. `Split` 메서드는 정규식 패턴과 일치하는 항목을 구분자로 사용하여 입력 문자열을 여러 부분으로 나누고, 결과 배열을 반환합니다. `RegexOption`은 정규식 해석 방식을 변경하기 위한 플래그 집합입니다. 이 옵션을 지정하면 대소문자 구분, 공백 처리, 검색 방향, 캡처 규칙, 다중 줄/단일 줄 모드 등의 동작을 제어할 수 있습니다. [original] | `Split(String origin)`는 정규식 패턴과 일치하는 항목을 기준으로 입력 문자열을 분할합니다. 정규식이 실패하면 nil이 반환됩니다. ```lua local origin = "plum-bear-pear" local pattern = "-" local regex = Regex(pattern) local texts = regex:Split(origin) log(#texts) -- 3 for i, text in pairs(texts) do log(text) end -- (결과) -- [chunk_id] | Guides:1041:4
[task] | knowledge_list [title] | 한벌옷 만들기 [category] | Guides [rephrased] | 제시된 문서 내용만을 바탕으로 한벌옷 제작 과정의 핵심 사실을 추출하여 정리한 목록입니다. 1. 한벌옷은 상의와 동일한 구조를 가지며, 상하의가 연결된 모든 의상 작업이 가능한 아바타 아이템 유형이다. 2. 아이템 제작에는 Adobe Photoshop 소프트웨어가 필수적이며, 공식 제공 파일인 `Avatar_Longcoat.psd`를 다운로드하여 편집해야 한다. 3. 아바타 아이템은 아바타 발을 기준으로 최대 120x120 해상도 범위 내에서 제작하는 것이 권장된다. 4. 제작 시트는 데이터 처리 및 가이드용으로 잠겨 있는 [original] | # 학습 과정 소개 한벌옷의 제작 방법을 알아봅시다. 한벌옷은 상의와 같은 구조로 구성되어 있으며 상하가 연결된 모든 의상 작업이 가능합니다. [아바타 아이템 제작의 기본 개념](docs/?postId=588)을 참고해 아바타의 기본 개념을 먼저 숙지하길 바랍니다. # 사전 준비 아이템 제작을 위해선 Adobe Photoshop이 필요합니다. 해당 소프트웨어를 설치한 후 아래 파일을 받아 엽니다. $$attachFile {"name":"Avatar_Longcoat.psd","url":"https://mod-file.dn.ne [chunk_id] | Guides:1042:0