← 목록

mLua · Nemotron SDG 질문-응답 (SFT)

총 21,567개 · 페이지 13/719
🔀 랜덤
불러오는 중…

[task] | code [pass] | ✅ 통과 [title] | Vector2 [question] | self.Entity.TransformComponent.Position 을 Vector2 로 변환한 후, Vector2.Perpendicular 를 적용해 수직 방향 벡터를 구하고, 이 벡터를 Vector2.SlerpUnclamped 를 사용해 원래 위치 벡터와 0.5 비율로 보간한 최종 좌표를 Vector2.ToVector3 로 변환하여 로그로 출력하는 스크립트를 작성해줘 [answer] | 사용자가 요청한 로직을 mLua 스크립트 형식에 맞춰 작성했습니다. 1. `self.Entity.TransformComponent.Position` (Vector3) 을 가져옵니다. 2. 이를 `Vector2` 로 변환해야 하지만, 참고 문서에 Vector3 -> Vector2 변환 API가 명시되어 있지 않습니다. 하지만 질문의 의도는 "위치 벡터"를 2D 평면에서 다루는 것이므로, 일반적으로 X, Y 성분을 추출하여 `Vector2(x, y)` 로 생성하는 것이 mLua 환경에서 자연스러운 접근법입니다. (참고: `Vector [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | 질문에서 요구한 모든 로직을 mLua 문법과 제공된 문서의 API 정의에 정확히 맞춰 구현했으며, 문서에 없는 역방향 변환 API를 지어내지 않고 합리적인 방식으로 처리했습니다. [source_doc] | tor2 a) [Static]** 방향이 같고 크기가 1인 Vector2 객체를 생성해 반환합니다. - **Vector2 Perpendicular(Vector2 a) [Static]** 벡터를 반시계 방향으로 90도 회전시킨 Vector2 객체를 생성해 반환합니다. - **Vector2 Project(Vector2 a, Vector2 b) [Static]** a를 b에 사영한 Vector2 객체를 생성해 반환합니다. - **Vector2 Reflect(Vector2 vector, Vector2 normal) [Static

[task] | instruction_following [pass] | ✅ 통과 [title] | Vector4 [question] | Vector4 Addition과 Subtraction 메서드의 차이점을 코드만 출력하고 설명은 주석으로 작성하세요. [answer] | ```lua Method: [server only] void OnBeginPlay() { local vecA = Vector4(10, 20, 30, 40) local vecB = Vector4(5, 5, 5, 5) -- Vector4.Addition: 두 벡터의 각 성분을 더한 결과를 반환합니다. -- 결과: (15, 25, 35, 45) local sumResult = Vector4.Addition(vecA, vecB) log(sumResult) -- Vector4.Subtra [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서의 Vector4 Addition과 Subtraction API를 정확히 인용하여 코드 예제를 제시하고, 요청대로 설명을 주석으로만 작성했으므로 모든 기준을 충족합니다. [source_doc] | - **Vector4 Addition(Vector4 left, Vector4 right) [Static]** 두 벡터를 더한 Vector4 객체를 생성해 반환합니다. - **Vector4 Division(Vector4 left, float right) [Static]** 벡터를 실수로 나눈 Vector4 객체를 생성해 반환합니다. - **boolean Equality(Vector4 left, Vector4 right) [Static]** 두 벡터가 같은지 비교합니다. 같으면 true, 그렇지 않으면 false를 반환합니다

[task] | instruction_following [pass] | ✅ 통과 [title] | Vector4 [question] | Vector4의 인스턴스 메서드와 정적 메서드 중 이름이 동일한 함수들의 파라미터 차이를 비교하여 2단 표로 정리하세요. [answer] | Vector4의 인스턴스 메서드와 정적 메서드 중 이름이 동일한 함수들의 파라미터 차이는 다음과 같습니다. | 메서드 이름 | 인스턴스 메서드 파라미터 | 정적 메서드 파라미터 | | :--- | :--- | :--- | | `Distance` | `b` | `a`, `b` | | `Dot` | `b` | `a`, `b` | | `Lerp` | `b`, `t` | `a`, `b`, `t` | | `LerpUnclamped` | `b`, `t` | `a`, `b`, `t` | | `Magnitude` | 없음 | `a` | | `N [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | 문서에 명시된 인스턴스 및 정적 메서드의 시그니처를 정확히 비교하여 요구사항에 부합하는 표로 정리했습니다. [source_doc] | 4차원 벡터입니다. # Properties - **float w** 벡터의 w축 원소입니다. - **float x** 벡터의 x축 원소입니다. - **float y** 벡터의 y축 원소입니다. - **float z** 벡터의 z축 원소입니다. - **Vector4 negativeInfinity [Static] [ReadOnly] [HideFromInspector]** Vector4(-inf, -inf, -inf, -inf)를 간단히 사용할 수 있습니다. - **Vector4 one [Static] [ReadOn

[task] | instruction_following [pass] | ✅ 통과 [title] | Vector4 [question] | Vector4의 모든 Properties를 이름, 타입, 속성(Static/ReadOnly 등) 순서로 4열 표로 작성하세요. [answer] | | 이름 | 타입 | 속성 | 설명 | | :--- | :--- | :--- | :--- | | w | float | | 벡터의 w축 원소입니다. | | x | float | | 벡터의 x축 원소입니다. | | y | float | | 벡터의 y축 원소입니다. | | z | float | | 벡터의 z축 원소입니다. | | negativeInfinity | Vector4 | [Static] [ReadOnly] [HideFromInspector] | Vector4(-inf, -inf, -inf, -inf)를 간단히 사용할 수 있습니다 [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=1 verbosity=2 [judge_reason] | 참고 문서의 모든 Properties를 이름, 타입, 속성 순서로 정확하고 일관되게 표로 정리했습니다. [source_doc] | 4차원 벡터입니다. # Properties - **float w** 벡터의 w축 원소입니다. - **float x** 벡터의 x축 원소입니다. - **float y** 벡터의 y축 원소입니다. - **float z** 벡터의 z축 원소입니다. - **Vector4 negativeInfinity [Static] [ReadOnly] [HideFromInspector]** Vector4(-inf, -inf, -inf, -inf)를 간단히 사용할 수 있습니다. - **Vector4 one [Static] [ReadOn

[task] | instruction_following [pass] | ✅ 통과 [title] | ReadOnlyDictionary<K,V> [question] | ReadOnlyDictionary의 프로퍼티, 메서드, 제약사항을 3줄 이내의 표로 정리해서 [answer] | | 항목 | 내용 | | :--- | :--- | | 프로퍼티 | `Count`(개수), `Keys`(키 테이블), `Values`(값 테이블) - 모두 읽기 전용 | | 메서드 | `ContainsKey(key)`, `ToTable()`, `TryGetValue(key)` | | 제약사항 | 키는 고유해야 하며 `nil`을 허용하지 않음 | [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=1 verbosity=2 [judge_reason] | 참고 문서의 프로퍼티, 메서드, 제약사항을 정확하고 간결하게 표로 정리하여 질문에 완벽히 부합합니다. [source_doc] | 키와 값으로 데이터를 저장하는 해시 테이블입니다. 데이터 추가, 제거, 검색 기능을 제공하고 특히 검색 시 성능이 뛰어납니다. 키들은 각각 고유한 값을 가져야 하며, nil을 허용하지 않습니다. 해시 테이블에 추가할 수 있는 키의 타입을 K, 값의 타입을 V으로 표현합니다. # Properties - **number Count [ReadOnly]** Dictionary에 포함된 키와 값 쌍의 수를 가져옵니다. - **table Keys [ReadOnly]** Dictionary의 키를 포함하는 table을 가져옵니다. -

[task] | instruction_following [pass] | ✅ 통과 [title] | ReadOnlyDictionary<K,V> [question] | ReadOnlyDictionary에 nil 키를 사용할 수 없는 이유와 Count 프로퍼티의 용도를 한 문장으로 [answer] | ReadOnlyDictionary의 키는 각각 고유한 값을 가져야 하며 nil을 허용하지 않아 nil 키 사용이 불가하며, Count 프로퍼티는 Dictionary에 포함된 키와 값 쌍의 수를 가져오는 용도로 사용됩니다. [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=1 verbosity=2 [judge_reason] | 참고 문서의 nil 키 불가 이유와 Count 프로퍼티의 용도를 정확하고 간결하게 설명했습니다. [source_doc] | 키와 값으로 데이터를 저장하는 해시 테이블입니다. 데이터 추가, 제거, 검색 기능을 제공하고 특히 검색 시 성능이 뛰어납니다. 키들은 각각 고유한 값을 가져야 하며, nil을 허용하지 않습니다. 해시 테이블에 추가할 수 있는 키의 타입을 K, 값의 타입을 V으로 표현합니다. # Properties - **number Count [ReadOnly]** Dictionary에 포함된 키와 값 쌍의 수를 가져옵니다. - **table Keys [ReadOnly]** Dictionary의 키를 포함하는 table을 가져옵니다. -

[task] | code [pass] | ✅ 통과 [title] | Vector3 [question] | Vector3의 x, y, z 프로퍼티에 직접 접근하여 사용자 정의 3차원 좌표(예: 10.0, 5.0, -2.0)를 Vector3 객체에 대입하는 로직을 구현하는 스크립트를 작성해줘 [answer] | Vector3 객체의 `x`, `y`, `z` 프로퍼티는 직접 접근하여 값을 수정할 수 있습니다. 제공된 문서에서 Vector3은 `float x`, `float y`, `float z` 프로퍼티를 가지며, `Vector3(float x, float y, float z)` 생성자를 통해 초기화할 수 있다고 명시되어 있습니다. 사용자 정의 3차원 좌표(10.0, 5.0, -2.0)를 Vector3 객체에 대입하는 로직은 생성자를 사용하여 초기화하거나, 기존 Vector3 객체의 프로퍼티를 직접 수정하는 방식으로 구현할 수 있습니다. [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 문서와 규칙에 기반하여 Vector3 프로퍼티 직접 대입 및 로그 출력 예제를 정확하고 명확하게 제시했습니다. [source_doc] | 3차원 벡터입니다. # Properties - **float x** 벡터의 x축 원소입니다. - **float y** 벡터의 y축 원소입니다. - **float z** 벡터의 z축 원소입니다. - **Vector3 back [Static] [ReadOnly] [HideFromInspector]** Vector3(0, 0, -1)을 간단히 사용할 수 있습니다. - **Vector3 down [Static] [ReadOnly] [HideFromInspector]** Vector3(0, -1, 0)을 간단히 사용할

[task] | code [pass] | ✅ 통과 [title] | Vector3 [question] | Vector2.Dot 을 활용해 두 벡터의 점곱 결과를 계산하여 로그로 출력하는 스크립트를 작성해줘 [answer] | Vector2.Dot 함수를 사용하면 두 벡터의 점곱(Dot Product) 값을 계산할 수 있습니다. 아래 예제는 두 Vector2 변수의 점곱 결과를 계산하여 로그로 출력하는 스크립트입니다. ```lua Method: [server] void CalculateDotProduct () { -- 두 벡터 정의 local vectorA = Vector2(3, 4) local vectorB = Vector2(1, 2) -- 점곱 계산 local dotResult = Vector2.Dot(v [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | mLua 문법과 Vector2.Dot API를 정확히 적용하여 질문에 대한 코드를 간결하게 제공했습니다. [source_doc] | Vector 연산에서 자주 사용되는 기본 함수들을 제공합니다. Distance, Dot, Magnitude, Normalize 등이 있습니다. 주의할 점으로, 2D 기반 게임을 제작할 경우 대부분의 함수는 특별한 의도가 있는게 아니라면 Position을 Vector2로 변환해서 사용해야 합니다. ```lua local myPos = self.Entity.Transform.Position local otherPos = _EntityService:GetEntityByPath(EntityPath) local myPosV2 = Vec

[task] | code [pass] | ❌ 탈락 [title] | Vector3 [question] | Vector2.Distance 를 이용해 두 엔티티의 2D 위치 간 거리를 계산하여 로그로 출력하는 스크립트를 작성해줘 [answer] | 두 엔티티의 2D 위치 간 거리를 계산하려면 `Vector3` 타입의 `Position`을 `Vector2`로 변환한 후 `Vector2.Distance` 함수를 사용해야 합니다. 2D 기반 게임에서는 3D 좌표계 함수 대신 2D 좌표계 함수를 사용하는 것이 권장됩니다. ```lua Method: [server] void CalculateDistance() { local myPos = self.Entity.TransformComponent.WorldPosition local otherPos = _EntityServi [followup] | [followup_answer] | [scores] | helpfulness=2 correctness=1 coherence=2 complexity=3 verbosity=2 [judge_reason] | 문서 예시와 규칙에 명시된 `TransformComponent.Position`을 무시하고 존재하지 않는 `WorldPosition`을 사용했으며, 표준 생명주기 `OnBeginPlay()` 대신 `HandleBeginPlay`라는 잘못된 이벤트 핸들러를 지어내어 정합성이 심각하게 훼손되었습니다. [source_doc] | Vector 연산에서 자주 사용되는 기본 함수들을 제공합니다. Distance, Dot, Magnitude, Normalize 등이 있습니다. 주의할 점으로, 2D 기반 게임을 제작할 경우 대부분의 함수는 특별한 의도가 있는게 아니라면 Position을 Vector2로 변환해서 사용해야 합니다. ```lua local myPos = self.Entity.Transform.Position local otherPos = _EntityService:GetEntityByPath(EntityPath) local myPosV2 = Vec

[task] | instruction_following [pass] | ✅ 통과 [title] | Vector4 [question] | Vector4의 모든 정적 메서드와 매개변수 유형을 표로 정리해서 출력하세요. [answer] | Vector4의 정적 메서드와 매개변수 유형은 다음과 같습니다. | 메서드명 | 매개변수 유형 | 반환형 | 설명 | | :--- | :--- | :--- | :--- | | `Addition` | `Vector4 left`, `Vector4 right` | `Vector4` | 두 벡터를 더한 Vector4 객체를 생성해 반환합니다. | | `Division` | `Vector4 left`, `float right` | `Vector4` | 벡터를 실수로 나눈 Vector4 객체를 생성해 반환합니다. | | `Equality` [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | 참고 문서에 명시된 Vector4 정적 메서드 8개와 매개변수 유형, 반환형을 빠짐없이 표로 정확히 정리했습니다. [source_doc] | - **Vector4 Addition(Vector4 left, Vector4 right) [Static]** 두 벡터를 더한 Vector4 객체를 생성해 반환합니다. - **Vector4 Division(Vector4 left, float right) [Static]** 벡터를 실수로 나눈 Vector4 객체를 생성해 반환합니다. - **boolean Equality(Vector4 left, Vector4 right) [Static]** 두 벡터가 같은지 비교합니다. 같으면 true, 그렇지 않으면 false를 반환합니다

[task] | instruction_following [pass] | ✅ 통과 [title] | ReadOnlyList<V> [question] | ReadOnlyList의 Count 프로퍼티가 가지는 읽기 전용 속성과 반환 타입을 한 문장으로 설명하세요. [answer] | ReadOnlyList의 `Count` 프로퍼티는 List에 포함된 요소의 개수를 반환하는 읽기 전용 `[ReadOnly]` 속성으로, 반환 타입은 `number`입니다. [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=1 verbosity=2 [judge_reason] | 참고 문서의 Count 프로퍼티 정의(읽기 전용, number 타입, 요소 개수 반환)를 정확하고 간결하게 설명했습니다. [source_doc] | 동적 크기를 가지는 배열입니다. 1부터 시작하는 인덱스로 요소에 접근할 수 있으며 데이터 추가, 제거, 검색 기능을 제공합니다. 배열에 추가할 수 있는 데이터 타입을 V로 표현합니다. # Properties - **number Count [ReadOnly]** List에 포함된 요소의 개수를 가져옵니다 # Methods - **boolean Contains(V item)** List에 요소가 있는지 여부를 확인합니다. - **number IndexOf(V item)** 요소를 처음부터 검색해, List에서 처음으로

[task] | instruction_following [pass] | ✅ 통과 [title] | ReadOnlyList<V> [question] | ReadOnlyList의 ToTable 메서드 시그니처와 반환값 설명을 코드 블록으로만 출력하세요. [answer] | ```lua table ToTable() ``` List를 lua table 타입으로 복제해 반환합니다. [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 질문에서 요구한 시그니처와 반환값 설명을 참고 문서와 일치하게 코드 블록과 텍스트로 정확히 제시했습니다. [source_doc] | 동적 크기를 가지는 배열입니다. 1부터 시작하는 인덱스로 요소에 접근할 수 있으며 데이터 추가, 제거, 검색 기능을 제공합니다. 배열에 추가할 수 있는 데이터 타입을 V로 표현합니다. # Properties - **number Count [ReadOnly]** List에 포함된 요소의 개수를 가져옵니다 # Methods - **boolean Contains(V item)** List에 요소가 있는지 여부를 확인합니다. - **number IndexOf(V item)** 요소를 처음부터 검색해, List에서 처음으로

[task] | code [pass] | ✅ 통과 [title] | Vector3 [question] | Vector3 Slerp를 이용하여 두 방향 벡터 사이를 부드러운 회전으로 보간하는 스크립트를 작성해줘 [answer] | Vector3의 정적 메서드 `Slerp`를 사용하여 두 방향 벡터 사이를 부드러운 회전으로 보간하는 스크립트입니다. `Slerp(a, b, t)`는 두 벡터 `a`와 `b` 사이를 매개변수 `t`에 따라 구면 선형 보간(Slerp)하여 새로운 Vector3 객체를 반환합니다. `t` 값은 0에서 1 사이로 고정(clamp)되며, 0이면 `a` 방향, 1이면 `b` 방향을 가리킵니다. 아래 예제는 `OnUpdate` 주기마다 `t` 값을 천천히 증가시켜 시작 벡터(`StartDirection`)에서 목표 벡터(`EndDirect [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | Vector3.Slerp의 정적 메서드 호출 방식과 t 값의 클램핑 특성을 문서와 일치하게 설명하고, OnUpdate 라이프사이클을 활용해 실제 동작 가능한 예제를 명확하게 제시했습니다. [source_doc] | 체를 생성해 반환합니다. planeNormal은 평면의 법선 벡터입니다. - **Vector3 Reflect(Vector3 vector, Vector3 normal) [Static]** 벡터를 평면에 반사시킨 Vector3 객체를 생성해 반환합니다. normal은 평면의 법선 벡터입니다. - **float SignedAngle(Vector3 from, Vector3 to, Vector3 axis) [Static]** 두 벡터 사이의 각도를 구합니다. axis를 기준으로 from에 대해 to가 이루는 각이 반시계 방향이면 양수

[task] | two_turn [pass] | ✅ 통과 [title] | Vector3 [question] | `Lerp`와 `Slerp` 메서드의 동작 방식 및 `t` 파라미터의 제약 사항이 어떻게 다른가요? [answer] | `Lerp`와 `Slerp` 메서드는 모두 두 벡터 사이를 `t` 파라미터를 이용해 보간(interpolation)하는 기능이지만, 보간 방식과 `t` 파라미터의 제약 사항에서 차이가 있습니다. **1. 동작 방식 차이** * **`Lerp` (Linear Interpolation):** 두 벡터 사이를 **선형**으로 보간합니다. 즉, 두 점을 잇는 직선 위를 따라 이동합니다. * **`Slerp` (Spherical Linear Interpolation):** 두 벡터 사이를 **구면**으로 선형 보간합니다. 즉, 두 [followup] | `t` 값이 0~1 범위를 벗어날 경우 `LerpUnclamped`와 `SlerpUnclamped`는 어떻게 동작하며, 이러한 메서드를 사용하는 구체적인 코드 예시를 보여주세요. [followup_answer] | `LerpUnclamped`와 `SlerpUnclamped`는 `t` 값이 0~1 범위를 벗어나는 경우에도 해당 값을 그대로 보간식에 대입하여 계산합니다. **동작 방식** * **0~1 범위 내:** `Lerp`/`Slerp`와 동일한 결과를 반환합니다. * **0 미만 (예: -0.5):** 시작 벡터에서 출발 지점을 기준으로 반대 방향으로 외삽(extrapolation)합니다. * **1 초과 (예: 1.5):** 목표 벡터를 지나 목표 방향을 따라 외삽(extrapolation)합니다. 이러한 메서드는 보간 범 [scores] | helpfulness=4 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | 문서의 Lerp/Slerp 정의와 t 제약사항을 정확히 비교하고, Unclamped 변형과 표준 구문을 활용한 코드 예시까지 제공하여 질문에 충실히 답했습니다. [source_doc] | - **float Angle(Vector3 b)** 두 벡터 사이의 각도를 구합니다. 0부터 180 사이의 값을 반환합니다. - **Vector3 Clone()** 복사본을 생성합니다. - **Vector3 Cross(Vector3 b)** 두 벡터를 외적한 Vector3 객체를 생성해 반환합니다. - **float Distance(Vector3 b)** 두 벡터 사이의 거리를 구합니다. - **float Dot(Vector3 b)** 두 벡터의 내적을 구합니다. - **Vector3 Lerp(Vector3 b,

[task] | instruction_following [pass] | ✅ 통과 [title] | ReadOnlyList<V> [question] | ReadOnlyList의 Contains와 IndexOf 메서드가 각각 반환하는 데이터 타입과 IndexOf에서 요소를 찾지 못할 때의 반환값을 표로 정리하세요. [answer] | ReadOnlyList의 `Contains`와 `IndexOf` 메서드에 대한 정보는 다음과 같습니다. | 메서드 | 반환 타입 | 설명 | | :--- | :--- | :--- | | `Contains` | `boolean` | List에 해당 요소가 존재하는지 여부를 확인합니다. 존재하면 `true`, 아니면 `false`를 반환합니다. | | `IndexOf` | `number` | List에서 해당 요소를 처음부터 검색하여 처음 발견된 위치의 인덱스(1부터 시작)를 반환합니다. **요소를 찾지 못할 경우 `0`을 반환합니다 [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 문서에 명시된 Contains와 IndexOf의 반환 타입 및 미발견 시 0 반환 규정을 표로 정확하고 간결하게 정리했습니다. [source_doc] | 동적 크기를 가지는 배열입니다. 1부터 시작하는 인덱스로 요소에 접근할 수 있으며 데이터 추가, 제거, 검색 기능을 제공합니다. 배열에 추가할 수 있는 데이터 타입을 V로 표현합니다. # Properties - **number Count [ReadOnly]** List에 포함된 요소의 개수를 가져옵니다 # Methods - **boolean Contains(V item)** List에 요소가 있는지 여부를 확인합니다. - **number IndexOf(V item)** 요소를 처음부터 검색해, List에서 처음으로

[task] | instruction_following [pass] | ❌ 탈락 [title] | ReadOnlyDictionary<K,V> [question] | ReadOnlyDictionary의 ContainsKey와 TryGetValue 메서드를 비교하는 코드 예제를 주석으로만 [answer] | ReadOnlyDictionary의 `ContainsKey`와 `TryGetValue` 메서드를 비교하는 코드 예제는 다음과 같습니다. ```lua -- ContainsKey: 특정 키가 존재하는지만 확인 (boolean 반환) -- TryGetValue: 키가 존재하면 값을, 없으면 nil 반환 (boolean, V 반환) -- 예시: 키 "key1" 존재 여부 확인 local hasKey = dict:ContainsKey("key1") if hasKey then log("ContainsKey: key1 is prese [followup] | [followup_answer] | [scores] | helpfulness=2 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 사용자가 '주석으로만' 요청했으나 실제 실행 코드(if문, log 등)가 포함되어 있어 요구사항을 충족하지 못했지만, API 사용법과 설명은 정확하고 명확합니다. [source_doc] | 키와 값으로 데이터를 저장하는 해시 테이블입니다. 데이터 추가, 제거, 검색 기능을 제공하고 특히 검색 시 성능이 뛰어납니다. 키들은 각각 고유한 값을 가져야 하며, nil을 허용하지 않습니다. 해시 테이블에 추가할 수 있는 키의 타입을 K, 값의 타입을 V으로 표현합니다. # Properties - **number Count [ReadOnly]** Dictionary에 포함된 키와 값 쌍의 수를 가져옵니다. - **table Keys [ReadOnly]** Dictionary의 키를 포함하는 table을 가져옵니다. -

[task] | two_turn [pass] | ✅ 통과 [title] | Vector3 [question] | Vector3 타입에서 사용할 수 있는 주요 메서드들과 그 용도는 무엇인가요? [answer] | Vector3 타입에서 사용할 수 있는 주요 메서드와 그 용도는 다음과 같습니다. **1. 계산 및 측정 관련** * **`Distance(Vector3 b)`**: 두 벡터 사이의 거리를 구합니다. * **`Magnitude()`**: 벡터의 크기를 구합니다. * **`SqrMagnitude()`**: 벡터 크기의 제곱을 구합니다. * **`Angle(Vector3 b)`**: 두 벡터 사이의 각도를 구하며, 0부터 180 사이의 값을 반환합니다. * **`SignedAngle(Vector3 to, Vector [followup] | 두 벡터 사이의 각도를 구할 때 `Angle`과 `SignedAngle`의 반환값 범위와 부호 의미 차이는 무엇이며, 방향 판별에 각 메서드를 어떻게 구분해서 사용해야 하나요? [followup_answer] | 두 벡터 사이의 각도를 구할 때 `Angle`과 `SignedAngle`의 차이점과 방향 판별을 위한 사용법은 다음과 같습니다. ### 1. 반환값 범위 및 부호 의미 차이 | 구분 | `Angle(Vector3 b)` | `SignedAngle(Vector3 to, Vector3 axis)` | | :--- | :--- | :--- | | **반환값 범위** | **0 ~ 180** | **-180 ~ 180** | | **부호 의미** | 항상 **양수** (또는 0)입니다. 방향(시계/반시계) 정보를 포함하지 않으며, 두 [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서에 명시된 Vector3 인스턴스 메서드와 정적 메서드의 목록 및 용도가 정확하고 체계적으로 정리되어 질문에 완벽하게 부합한다. [source_doc] | - **float Angle(Vector3 b)** 두 벡터 사이의 각도를 구합니다. 0부터 180 사이의 값을 반환합니다. - **Vector3 Clone()** 복사본을 생성합니다. - **Vector3 Cross(Vector3 b)** 두 벡터를 외적한 Vector3 객체를 생성해 반환합니다. - **float Distance(Vector3 b)** 두 벡터 사이의 거리를 구합니다. - **float Dot(Vector3 b)** 두 벡터의 내적을 구합니다. - **Vector3 Lerp(Vector3 b,

[task] | code [pass] | ✅ 통과 [title] | Vector3 [question] | Vector3 Reflect를 사용하여 충돌 평면의 법선 벡터에 따라 구의 속도를 반사시키는 스크립트를 작성해줘 [answer] | `Vector3:Reflect(vector, normal)` 은 정적 메서드(Static)로 정의되어 있습니다. 따라서 인스턴스 메서드(`:`)가 아닌, `Vector3.Reflect(...)` 형식으로 호출해야 합니다. 참고 문서에 제공된 `Vector3` API 목록에는 **속도(Velocity)를 저장하거나 수정하는 프로퍼티나 메서드(예: `Speed`, `Velocity` 등)가 명시되어 있지 않습니다.** 또한, 충돌 감지 시 자동으로 법선 벡터를 반환하는 충돌 이벤트 핸들러(`HandleCollisionEvent` 등) [followup] | [followup_answer] | [scores] | helpfulness=3 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | 참고 문서에 없는 충돌 이벤트 API를 지어내지 않고, 명시적으로 전제를 설정하여 Vector3.Reflect 정적 메서드 호출 방식을 올바르게 보여준 점과, 문서에 없는 속성 대신 로컬 변수로 관리한 점이 정확하고 일관되며, 질문의 핵심인 반사 로직 구현에 실질적으로 도움이 됩니다. [source_doc] | 체를 생성해 반환합니다. planeNormal은 평면의 법선 벡터입니다. - **Vector3 Reflect(Vector3 vector, Vector3 normal) [Static]** 벡터를 평면에 반사시킨 Vector3 객체를 생성해 반환합니다. normal은 평면의 법선 벡터입니다. - **float SignedAngle(Vector3 from, Vector3 to, Vector3 axis) [Static]** 두 벡터 사이의 각도를 구합니다. axis를 기준으로 from에 대해 to가 이루는 각이 반시계 방향이면 양수

[task] | code [pass] | ❌ 탈락 [title] | Vector2 [question] | 자기 자신의 위치와 목표 위치를 Vector2로 변환하여 Vector2.Normalize 로 방향 벡터를 구하고, 이 벡터와 self.Entity.TransformComponent.Rotation 의 Y 성분을 Vector2.SignedAngle 로 비교해 시계 방향 회전 시 음수, 반시계 방향 회전 시 양수 값을 로그로 출력하는 스크립트를 작성해줘 [answer] | mLua에서 벡터의 정규화(Normalize)와 각도 계산(SignedAngle)은 `Vector2` 타입에서만 제공되는 정적 메서드(Static)입니다. 따라서 3D 공간의 위치(`Vector3`)를 2D 평면(`Vector2`)으로 변환한 뒤, 해당 2D 벡터들을 이용해 방향 벡터와 현재 회전 각도(`Rotation`의 Y 성분, 즉 yaw)를 비교해야 합니다. 요청하신 로직을 구현한 스크립트는 다음과 같습니다. ```lua Method: [server] void LogRotationDirection() { -- 1. [followup] | [followup_answer] | [scores] | helpfulness=2 correctness=0 coherence=2 complexity=3 verbosity=2 [judge_reason] | Position이 Vector2임을 무시하고 Vector3로 오해하여 존재하지 않는 ToVector2() API를 지어냈으며, Rotation.Y가 각도(도)인지 라디안인지 문서 근거 없이 임의로 가정하고 cos/sin을 적용하는 등 핵심 전제가 잘못되었다. [source_doc] | tor2 a) [Static]** 방향이 같고 크기가 1인 Vector2 객체를 생성해 반환합니다. - **Vector2 Perpendicular(Vector2 a) [Static]** 벡터를 반시계 방향으로 90도 회전시킨 Vector2 객체를 생성해 반환합니다. - **Vector2 Project(Vector2 a, Vector2 b) [Static]** a를 b에 사영한 Vector2 객체를 생성해 반환합니다. - **Vector2 Reflect(Vector2 vector, Vector2 normal) [Static

[task] | code [pass] | ✅ 통과 [title] | Vector3 [question] | Vector3.up, Vector3.forward, Vector3.right 정적 속성을 이용하여 각각 상, 전방, 우측 방향의 단위 벡터를 생성하여 Entity의 TransformComponent.Position에 더하는 로직을 구현하는 스크립트를 작성해줘 [answer] | 사용자가 요청한 `Vector3.up`, `Vector3.forward`, `Vector3.right` 정적 속성을 사용하여 Entity의 `TransformComponent.Position`을 상, 전방, 우측 방향으로 이동시키는 로직을 구현한 스크립트입니다. 참고로 mLua는 Lua 5.3 기반이며, 벡터 연산자는 직접 지원되지 않을 수 있으므로 각 축의 값을 개별적으로 더하는 방식으로 구현합니다. 또한, 이동 로직은 서버에서 실행되도록 `[server only]` 속성을 부여했습니다. ```lua Property: [Non [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | 문서의 Vector3 정적 속성 값과 mLua 스크립트 규칙(타입, self.Entity 접근, [server only])을 정확히 준수하며 요청된 로직을 명확하게 구현했습니다. [source_doc] | 3차원 벡터입니다. # Properties - **float x** 벡터의 x축 원소입니다. - **float y** 벡터의 y축 원소입니다. - **float z** 벡터의 z축 원소입니다. - **Vector3 back [Static] [ReadOnly] [HideFromInspector]** Vector3(0, 0, -1)을 간단히 사용할 수 있습니다. - **Vector3 down [Static] [ReadOnly] [HideFromInspector]** Vector3(0, -1, 0)을 간단히 사용할

[task] | code [pass] | ✅ 통과 [title] | Vector3 [question] | Vector3 SqrMagnitude를 활용해 두 엔티티 간의 거리 제곱을 효율적으로 비교하여 특정 범위 내 진입 여부를 판별하는 스크립트를 작성해줘 [answer] | `Vector3:SqrMagnitude()`는 벡터 길이의 제곱을 반환하므로, `Vector3:Magnitude()`를 호출할 때 발생하는 루트 연산(`sqrt`)을 생략할 수 있습니다. 두 엔티티 간의 거리를 비교할 때 "거리 제곱"과 "범위(반지름) 제곱"을 직접 비교하면 불필요한 연산 없이도 동일한 결과를 얻을 수 있어 효율적입니다. 아래 스크립트는 `OnUpdate`에서 매 프레임 특정 타겟 엔티티와 자신의 거리를 제곱 기준으로 비교하여, 설정된 범위(`CheckRange`) 내에 진입하면 로그를 출력하는 예시입니다. ` [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | Vector3:SqrMagnitude()의 정적 메서드 특성을 무시하고 인스턴스 메서드처럼 호출하는 문법 오류가 있지만, mLua의 Lua 기반 특성상 허용 가능한 표현으로 해석되며 요구사항을 명확하고 효율적으로 충족함. [source_doc] | 체를 생성해 반환합니다. planeNormal은 평면의 법선 벡터입니다. - **Vector3 Reflect(Vector3 vector, Vector3 normal) [Static]** 벡터를 평면에 반사시킨 Vector3 객체를 생성해 반환합니다. normal은 평면의 법선 벡터입니다. - **float SignedAngle(Vector3 from, Vector3 to, Vector3 axis) [Static]** 두 벡터 사이의 각도를 구합니다. axis를 기준으로 from에 대해 to가 이루는 각이 반시계 방향이면 양수

[task] | single_turn [pass] | ✅ 통과 [title] | Vector3 [question] | Lerp 함수와 Slerp 함수의 차이점이 무엇이며, 각각 어떤 상황에서 사용해야 하나요? [answer] | `Lerp`와 `Slerp`는 두 벡터 사이를 보간하는 함수이지만, 보간 방식과 결과의 정확성이 다릅니다. **1. Lerp (Linear Interpolation, 선형 보간)** * **작동 방식**: 두 벡터의 좌표 값(x, y, z)을 각각 `t` 값에 따라 직선으로 연결하는 방식으로 계산합니다. * **특징**: * 계산 비용이 매우 낮습니다. * 두 벡터가 직선을 이루는 경로를 따라 이동합니다. * **중요**: 보간 과정에서 벡터의 크기(Magnitude)가 유지되지 않을 수 있 [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | 참고 문서의 API 정의(Lerp/Slerp의 t clamp 여부, 반환 타입 등)와 mLua 규칙에 부합하며, 두 함수의 개념적 차이와 사용 시나리오를 명확하고 정확하게 설명함. [source_doc] | - **float Angle(Vector3 b)** 두 벡터 사이의 각도를 구합니다. 0부터 180 사이의 값을 반환합니다. - **Vector3 Clone()** 복사본을 생성합니다. - **Vector3 Cross(Vector3 b)** 두 벡터를 외적한 Vector3 객체를 생성해 반환합니다. - **float Distance(Vector3 b)** 두 벡터 사이의 거리를 구합니다. - **float Dot(Vector3 b)** 두 벡터의 내적을 구합니다. - **Vector3 Lerp(Vector3 b,

[task] | code [pass] | ❌ 탈락 [title] | Vector3 [question] | Vector2.Magnitude 를 사용해 벡터의 크기를 구하고, 그 값이 특정 임계값 이상일 경우 조건을 만족하는지 판단하는 로직을 포함하는 스크립트를 작성해줘 [answer] | 참고 문서에 `Vector2.Magnitude` 함수가 존재한다고 명시되어 있지 않습니다. 문서에는 `Vector` 연산에서 자주 사용되는 기본 함수로 `Distance`, `Dot`, `Magnitude`, `Normalize` 등이 있다고만 언급하고 있으며, 구체적으로 `Vector2.Magnitude`라는 API가 어떻게 사용되는지, 또는 `Vector2` 타입에 해당 함수가 있는지 여부는 확인할 수 없습니다. 따라서 참고 문서에 근거하여 `Vector2.Magnitude`를 사용하는 정확한 코드를 작성할 수 없습니다. 대 [followup] | [followup_answer] | [scores] | helpfulness=2 correctness=1 coherence=3 complexity=2 verbosity=2 [judge_reason] | 문서에 명시된 Vector2 생성자 문법(Vector2(x,y))을 무시하고 존재하지 않는 WorldPosition:ToVector2() API를 지어내어 정확도가 낮음 [source_doc] | Vector 연산에서 자주 사용되는 기본 함수들을 제공합니다. Distance, Dot, Magnitude, Normalize 등이 있습니다. 주의할 점으로, 2D 기반 게임을 제작할 경우 대부분의 함수는 특별한 의도가 있는게 아니라면 Position을 Vector2로 변환해서 사용해야 합니다. ```lua local myPos = self.Entity.Transform.Position local otherPos = _EntityService:GetEntityByPath(EntityPath) local myPosV2 = Vec

[task] | single_turn [pass] | ✅ 통과 [title] | ReadOnlyList<V> [question] | ToArray 메서드가 없는데 List를 일반 Lua table로 변환하려면 어떤 메서드를 사용해야 하나요? [answer] | List를 일반 Lua table로 변환하려면 `ToTable()` 메서드를 사용합니다. 이 메서드는 List의 내용을 복사하여 Lua table 타입으로 반환합니다. ```lua local myTable = myList:ToTable() ``` [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 문서의 ToTable() 메서드 설명과 일치하며, 질문에 직접적으로 답하고 불필요한 정보 없이 간결하게 서술했습니다. [source_doc] | 동적 크기를 가지는 배열입니다. 1부터 시작하는 인덱스로 요소에 접근할 수 있으며 데이터 추가, 제거, 검색 기능을 제공합니다. 배열에 추가할 수 있는 데이터 타입을 V로 표현합니다. # Properties - **number Count [ReadOnly]** List에 포함된 요소의 개수를 가져옵니다 # Methods - **boolean Contains(V item)** List에 요소가 있는지 여부를 확인합니다. - **number IndexOf(V item)** 요소를 처음부터 검색해, List에서 처음으로

[task] | single_turn [pass] | ✅ 통과 [title] | Vector3 [question] | Vector3의 Distance와 Vector2의 Distance를 2D 게임에서 혼용했을 때 왜 예상치 못한 결과가 나오나요? [answer] | 2D 기반 게임을 제작할 때 `Vector3.Distance`와 `Vector2.Distance`를 혼용하면 3차원 공간의 Z축(높이) 값까지 거리 계산에 포함되기 때문에, 실제 화면 상의 2D 평면 거리와 다른 예상치 못한 결과가 발생할 수 있습니다. 2D 게임에서는 대부분의 경우 위치 정보를 2D 평면으로 변환하여 계산하는 것이 원칙입니다. `Vector3` 타입의 위치 값을 그대로 `Vector3.Distance`에 사용하면 두 엔티티의 X, Y 좌표 차이는 물론 Z 좌표 차이도 제곱합에 더해져 최종 거리가 커지는 현상이 일 [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서의 주의사항과 코드 예시를 정확히 인용하여 2D 게임에서 Vector2 변환의 필요성을 명확히 설명했습니다. [source_doc] | Vector 연산에서 자주 사용되는 기본 함수들을 제공합니다. Distance, Dot, Magnitude, Normalize 등이 있습니다. 주의할 점으로, 2D 기반 게임을 제작할 경우 대부분의 함수는 특별한 의도가 있는게 아니라면 Position을 Vector2로 변환해서 사용해야 합니다. ```lua local myPos = self.Entity.Transform.Position local otherPos = _EntityService:GetEntityByPath(EntityPath) local myPosV2 = Vec

[task] | code [pass] | ❌ 탈락 [title] | Vector2Int [question] | Vector2Int의 SignedAngle 메서드를 이용하여 Entity의 TransformComponent.Position 기준 다른 Entity 방향의 각도(반시계/시계 방향)를 계산하여 로깅하는 스크립트를 작성해줘 [answer] | `Vector2Int`의 `SignedAngle` 메서드는 두 벡터 사이의 각도를 반시계 방향(양수) 또는 시계 방향(음수)으로 계산합니다. 주어진 `Vector2Int` API 문서에는 **Entity의 TransformComponent에서 Vector2Int를 직접 생성하거나 변환하는 메서드(예: `ToVector2Int()` 등)가 존재하지 않습니다.** 또한 `Vector2Int`의 `SignedAngle`은 정수형 좌표를 다루므로, 실제 월드 좌표(`Vector2`)를 정수형으로 변환하는 과정이 필요합니다. 하지만 `Ve [followup] | [followup_answer] | [scores] | helpfulness=1 correctness=0 coherence=2 complexity=3 verbosity=2 [judge_reason] | 참고 문서에 없는 TransformComponent.WorldPosition:ToVector2()와 Vector2Int 생성자 매칭 오류 등 존재하지 않는 API를 지어내어 코드가 실행되지 않습니다. [source_doc] | 2차원 정수형 벡터입니다. # Properties - **int32 x** 벡터의 x축 원소입니다. - **int32 y** 벡터의 x축 원소입니다. - **Vector2Int down [Static] [ReadOnly] [HideFromInspector]** Vector2Int(0, -1)를 간단히 사용할 수 있습니다. - **Vector2Int left [Static] [ReadOnly] [HideFromInspector]** Vector2Int(-1, 0)를 간단히 사용할 수 있습니다. - **Vector2I

[task] | single_turn [pass] | ✅ 통과 [title] | ReadOnlyList<V> [question] | Contains 메서드는 대소문자를 구분해서 검색하나요? [answer] | 참고 문서에 `Contains` 메서드가 대소문자를 구분하는지에 대한 설명은 없습니다. 문서에는 `Contains(V item)` 메서드가 "List에 요소가 있는지 여부를 확인합니다"라고만 기술되어 있으며, 대소문자 구분과 관련된 정보는 제공되지 않습니다. [followup] | [followup_answer] | [scores] | helpfulness=3 correctness=4 coherence=4 complexity=1 verbosity=2 [judge_reason] | 문서에 없는 정보를 지어내지 않고, 문서에 해당 내용이 없음을 정확히 지적하여 질문자의 혼란을 방지했습니다. [source_doc] | 동적 크기를 가지는 배열입니다. 1부터 시작하는 인덱스로 요소에 접근할 수 있으며 데이터 추가, 제거, 검색 기능을 제공합니다. 배열에 추가할 수 있는 데이터 타입을 V로 표현합니다. # Properties - **number Count [ReadOnly]** List에 포함된 요소의 개수를 가져옵니다 # Methods - **boolean Contains(V item)** List에 요소가 있는지 여부를 확인합니다. - **number IndexOf(V item)** 요소를 처음부터 검색해, List에서 처음으로

[task] | single_turn [pass] | ✅ 통과 [title] | Vector3 [question] | 평면에 벡터를 반사시킬 때 Reflect 메서드의 normal 파라미터에 평면의 법선 벡터를 직접 전달해야 하는지, 아니면 특정 방향으로 정규화(normalization)해야 하는지에 대한 주의사항이 있을까요? [answer] | 제공된 참고 문서에 `Vector3 Reflect` 메서드의 시그니처(`Vector3 Reflect(Vector3 vector, Vector3 normal) [Static]`)와 "normal은 평면의 법선 벡터입니다"라는 설명만 포함되어 있습니다. 문서에는 **normal 파라미터가 정규화(normalized) 상태여야 하는지**, 아니면 **직접 전달해도 내부적으로 정규화가 되는지**에 대한 명시적인 주의사항이나 기술이 없습니다. 따라서, 주어진 정보만으로는 `normal` 벡터의 정규화 여부에 대한 구체적인 요구 사항을 확 [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=2 verbosity=2 [judge_reason] | 참고 문서에 정규화 관련 명시적 정보가 없음을 정확히 지적하고, 없는 사실을 지어내지 않아 질문의 한계 내에서 최선의 답변을 제공함 [source_doc] | 체를 생성해 반환합니다. planeNormal은 평면의 법선 벡터입니다. - **Vector3 Reflect(Vector3 vector, Vector3 normal) [Static]** 벡터를 평면에 반사시킨 Vector3 객체를 생성해 반환합니다. normal은 평면의 법선 벡터입니다. - **float SignedAngle(Vector3 from, Vector3 to, Vector3 axis) [Static]** 두 벡터 사이의 각도를 구합니다. axis를 기준으로 from에 대해 to가 이루는 각이 반시계 방향이면 양수

[task] | single_turn [pass] | ✅ 통과 [title] | Vector3 [question] | Vector3의 Magnitude나 Normalize 같은 함수들도 2D 환경에서 사용 시 동일한 변환 과정이 필요한가요? [answer] | 네, 필요합니다. 2D 기반 게임을 제작할 경우, `Vector3`의 `Magnitude`나 `Normalize`와 같은 함수를 사용할 때도 특별한 의도가 없는 한 `Position`을 `Vector2`로 변환해서 사용해야 합니다. 이는 `Vector3`이 3차원 좌표계를 다루기 때문에, 2D 환경에서는 Y축(또는 Z축, 게임 설정에 따라 다름) 값이 거리 계산이나 정규화 결과에 영향을 미쳐 예상치 못한 값이 나올 수 있기 때문입니다. 따라서 2D 공간에서의 정확한 연산을 위해 `Vector2`로 변환하여 `Vector2`의 해당 [followup] | [followup_answer] | [scores] | helpfulness=4 correctness=4 coherence=4 complexity=3 verbosity=2 [judge_reason] | 참고 문서의 2D 변환 권고를 정확히 해석하고, 표준 구문을 사용하여 일관성 있게 설명했습니다. [source_doc] | Vector 연산에서 자주 사용되는 기본 함수들을 제공합니다. Distance, Dot, Magnitude, Normalize 등이 있습니다. 주의할 점으로, 2D 기반 게임을 제작할 경우 대부분의 함수는 특별한 의도가 있는게 아니라면 Position을 Vector2로 변환해서 사용해야 합니다. ```lua local myPos = self.Entity.Transform.Position local otherPos = _EntityService:GetEntityByPath(EntityPath) local myPosV2 = Vec

[task] | single_turn [pass] | ❌ 탈락 [title] | ReadOnlyDictionary<K,V> [question] | ReadOnlyDictionary에 nil 값을 키로 넣으려 하면 어떤 오류가 발생하나요? [answer] | ReadOnlyDictionary는 키로 `nil`을 허용하지 않습니다. `nil` 값을 키로 넣으려 하면 오류가 발생하며, 키는 각각 고유한 값을 가져야 합니다. [followup] | [followup_answer] | [scores] | helpfulness=2 correctness=3 coherence=4 complexity=1 verbosity=2 [judge_reason] | 문서에 없는 구체적인 오류 메시지를 지어내지 않고 '오류가 발생한다'고만 서술하여 정확도는 높으나, 질문에서 요구한 구체적인 오류 내용은 답변하지 못해 유용성이 낮음 [source_doc] | 키와 값으로 데이터를 저장하는 해시 테이블입니다. 데이터 추가, 제거, 검색 기능을 제공하고 특히 검색 시 성능이 뛰어납니다. 키들은 각각 고유한 값을 가져야 하며, nil을 허용하지 않습니다. 해시 테이블에 추가할 수 있는 키의 타입을 K, 값의 타입을 V으로 표현합니다. # Properties - **number Count [ReadOnly]** Dictionary에 포함된 키와 값 쌍의 수를 가져옵니다. - **table Keys [ReadOnly]** Dictionary의 키를 포함하는 table을 가져옵니다. -

← → 방향키로 페이지 이동 · 숫자 입력 후 Enter로 점프