質問: gets.chomp puts "#{a}#{b}#{c}" ``` これを実行した際半角入力でa:a b:i c:uを入力すると ``` aの入力 a bの入力 i cの入力 u aiu ``` と正常に入力できるのですが全角入力でa:あ b:い c:う と入力しようとすると aの入力のあとにエンターを押しても進まず、もう一回押すと一気にcの入力になり以下のように 正しく入力できません。 ``` aの入力 あ bの入力 cの入力 う 、�あ、�う ``` これは何が原因なのでしょうか
回答: コマンドプロンプトをレガシコンソールにすればひとまず直ります。 1. コマンドプロンプトを起動する。 2. タイトルバーを右クリックして「プロパティ」を押下する。 3. 「レガシ コンソールを使用する」にチェックを入れて「OK」を押下する。 4. コマンドプロンプトを全て閉じて、起動しなおす。※パソコンの再起動は不要 なお、設定は全てのコマンドプロンプト(PowerShellを含む)に影響を与えます。レガシコンソールは一部の最新機能が使えなくなり、高DPIのディスプレイを使用している場合の拡大表示や透明化などが無効化されることに注意してください。 原因はWindows 10のあるバージョン(どれかは忘れた)からコマンドプロンプトのコンソールの仕様が変わったことと思われます。以前の仕様のコンソールはレガシコンソールとして残っていますが、ユーザーが上記のように設定する必要があります。Ruby Issuesに問題が上がっていたような気がしたのですが、見つけられませんでした。