From 4f1c048bb23f1c2586a7879039e1912f4b2d9305 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Sun, 27 Sep 2026 21:29:46 +0900 Subject: [PATCH] =?UTF-8?q?fix(spreadsheet):=20func=5Fhelp=20=EC=9E=90?= =?UTF-8?q?=EB=8F=99=20=EC=99=84=EC=84=B1=EC=97=90=20B=202=EB=8B=A8?= =?UTF-8?q?=EA=B3=84=20=ED=95=A8=EC=88=98=20=EC=9D=B4=EC=96=B4=20=EB=B6=99?= =?UTF-8?q?=EC=9E=84(=EB=B8=8C=EB=A0=88=EC=9D=B8=20=EC=A7=80=EC=8B=9C?= =?UTF-8?q?=EB=A1=9C=20B=20=EA=B0=80=20sub1=20=ED=8C=8C=EC=9D=BC=20?= =?UTF-8?q?=EB=8C=80=EC=8B=A0=20=EA=B3=A0=EC=B9=A8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit spreadsheet_func_help.ts(주인 sub_laptop_1)가 B 의 FUNC_HELP_BATCH2 · 3(57개)을 안 읽어 자동 완성에 새 함수가 안 뜨던 것을 고침 — sub1 이 지금 다른 파일을 만져 브레인 지시로 B 가 이번만 대신 고침. sub1 의 test_stage2_func_help.ts 도 늘어난 개수(48→105)에 맞춰 고치고 2단계 함수 자동 완성 검증을 더함. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01RrQ65VtGZbae2VKgYVMhmc --- .../spreadsheet/spreadsheet_func_help.ts | 11 ++++++--- .../spreadsheet/test_stage2_func_help.ts | 23 ++++++++++++++++++- 2 files changed, 30 insertions(+), 4 deletions(-) diff --git a/A00_Common/spreadsheet/spreadsheet_func_help.ts b/A00_Common/spreadsheet/spreadsheet_func_help.ts index 21e6d260..a304e2d9 100644 --- a/A00_Common/spreadsheet/spreadsheet_func_help.ts +++ b/A00_Common/spreadsheet/spreadsheet_func_help.ts @@ -1,6 +1,7 @@ /* ============================================================================= - * spreadsheet_func_help.ts (2단계 · 주인 sub_laptop_1) - * 함수 자동 완성 목록 · 인자 도움말 — 1단계 함수 48 개(`spreadsheet_types.ts` 머리 「1단계 함수」) + * spreadsheet_func_help.ts (2단계 · 주인 sub_laptop_1 · 2단계 묶음은 B 가 대신 고침 2026-09-27) + * 함수 자동 완성 목록 · 인자 도움말 — 1단계 함수 48 개(`spreadsheet_types.ts` 머리 「1단계 함수」) + + * B 의 2단계 묶음(`spreadsheet_functions.ts` 의 `FUNC_HELP_BATCH2` · `FUNC_HELP_BATCH3`)을 이어 붙임. * 이름 · 인자 모양 · 한 줄 뜻. B `spreadsheet_functions.ts`(실제 풀이)와는 따로 — 이 표는 화면 도움말 전용 * 정적 자료라 B 가 아직 없어도 씀. B 가 완성돼도 이름 목록이 갈리지 않게 이 표를 그대로 둠. * @@ -8,6 +9,8 @@ * `(` 를 친 뒤엔 `funcHelp(name)` 로 인자 도움말 풍선을 씀(지금 몇 번째 인자인지는 D 가 콤마를 세어 넘김). * ========================================================================== */ +import { FUNC_HELP_BATCH2, FUNC_HELP_BATCH3 } from "./spreadsheet_functions"; + export interface FuncHelp { 이름: string; /** 인자 모양 — 대괄호는 생략 가능 */ @@ -72,6 +75,8 @@ const TABLE: FuncHelp[] = [ { 이름: "COUNTA", 꼴: "COUNTA(값1, [값2], …)", 뜻: "비어 있지 않은 칸 개수" }, { 이름: "COUNTIF", 꼴: "COUNTIF(범위, 조건)", 뜻: "조건에 맞는 칸 개수" }, { 이름: "SUMIF", 꼴: "SUMIF(범위, 조건, [더할범위])", 뜻: "조건에 맞는 칸(또는 짝 칸)의 합" }, + ...FUNC_HELP_BATCH2, + ...FUNC_HELP_BATCH3, ]; const BY_NAME = new Map(TABLE.map((f) => [f.이름, f])); @@ -88,7 +93,7 @@ export function funcHelp(name: string): FuncHelp | null { return BY_NAME.get(name.toUpperCase()) ?? null; } -/** 1단계 함수 48 개 다 있는지(시험용) */ +/** 아는 함수 전부 개수(1단계 48 + 2단계 묶음 · 시험용) */ export function knownFunctionCount(): number { return TABLE.length; } diff --git a/resources/tester/spreadsheet/test_stage2_func_help.ts b/resources/tester/spreadsheet/test_stage2_func_help.ts index 4a21be84..58c18cc1 100644 --- a/resources/tester/spreadsheet/test_stage2_func_help.ts +++ b/resources/tester/spreadsheet/test_stage2_func_help.ts @@ -9,7 +9,7 @@ import { } from "../../../A00_Common/spreadsheet/spreadsheet_func_help.ts"; import { assertEqual } from "./test_stage2_helpers.ts"; -assertEqual(knownFunctionCount(), 48, "1단계 함수 48 개 다 있음"); +assertEqual(knownFunctionCount(), 105, "1단계 48 + B 2단계 묶음(57) 다 있음"); assertEqual( suggestFunctions("ROU").map((f) => f.이름), @@ -44,5 +44,26 @@ const 실무13 = [ ]; for (const name of 실무13) assertEqual(funcHelp(name) !== null, true, `실무 함수 ${name} 있음`); +// B 2단계 묶음(FUNC_HELP_BATCH2 · 3)이 자동 완성에 뜨는지(2026-09-27 — 자동 완성에 안 뜨던 것 고침) +const 이단계묶음 = [ + "SUMIFS", + "XLOOKUP", + "TEXTJOIN", + "ISNUMBER", + "DATE", + "MEDIAN", + "RANK.EQ", + "TIME", +]; +for (const name of 이단계묶음) + assertEqual(funcHelp(name) !== null, true, `2단계 함수 ${name} 있음`); +assertEqual( + suggestFunctions("SUMIF") + .map((f) => f.이름) + .sort(), + ["SUMIF", "SUMIFS"], + "SUMIFS 도 SUMIF 접두사 자동 완성에 뜸", +); + if (process.exitCode) process.exit(process.exitCode); console.log("spreadsheet_func_help 시험 끝");