Files
BakNRet/BakNRet/Public
Shuery 6315c72f69 fix(tui): 单键序列被 [pscustomobject] 拆成字符串(驱动器改 List[string])
根因:`[pscustomobject]@{ Script = $scriptKeys }` 里,**单元素数组会被 PowerShell 拆成字符串**,于是 `$Driver.Script[0]` 取到的是字符串首字母 —— @('Esc') 变成 'E',键名不再匹配任何分支,循环继续往下读,最后"序列用尽"报错。

这个坑只在"恰好一个键"时出现,所以块 ② 当时的断言(两键序列按顺序消费)看不见它;而菜单循环那块因此连着两次"看着对、跑起来不对"。修法是改用 List[string]:不会被拆、可按索引取、两个版本行为一致。

补一条正是为它立的断言:单键序列必须整键返回(不是首字母)。这类"只在边界数量上出现"的错,只能靠把边界数量本身写进断言来防。

验收:test.ps1 9/9 全绿(5.1 与 7)。
2026-09-27 16:11:17 +08:00
..