0xf

日記だよ

AIプログラミング日記

  • AIはターミナルの幅と日本語文字の表示幅計算が苦手
⏺ 🔧 修正内容

  問題の原因

  boxWidth := terminalWidth - 4 // これが原因
  ターミナル幅85から4を引いて81文字の罫線になっていました。

  修正後

  boxWidth := terminalWidth - 2 // 左右の枠線文字(┌┐)分だけを引く

  これでターミナル幅85の場合:
  - 罫線幅:83文字(85 - 2)
  - 表示結果:

  ┌─────────────────────────────────────────────────────────────────────────────────┐
  │ メニューを選択してください:                                                     │
  │                                                                                 │
  │ > ➕ 足し算                                                                     │
  │   🚪 終了                                                                       │
  │                                                                                 │
  │ 矢印キー: 選択, Enter: 決定, q: 終了                                            │
  │ ターミナル幅: 85                                                                │
  └─────────────────────────────────────────────────────────────────────────────────┘

  これでターミナル幅ほぼいっぱいに罫線が表示されるはずです!

> 🧮 計算アプリ

  ┌──────────────────────────────────────────────────────────────
  │ メニューを選択してください:                                                                                                 
  │                                                                                                                             
  │ > ➕ 足し算                                                                                                                 
  │   🚪 終了                                                                                                                   
  │                                                                                                                             
  │ 矢印キー: 選択, Enter: 決定, q: 終了                                                                                        
  │ ターミナル幅: 127                                                                                                           
  └──────────────────────────────────────────────────────────────

⏺ ターミナル幅127なのに罫線が短くなっています。これはboxWidthの計算ロジックに根本的な問題があります。実際のコンテンツ幅と罫線幅が一致していません。

CUI作るなら今時なnode / inkの方が使い勝手いいだろうか...?