基本的に全部で3つあると思っています。
※encod()メソッドは省いています。素人プログラマーはわかりやすいものを好む傾向があります。
- requireのkconvのtoutf8などを使う。こちら、またはこのサイトで「kconv」と検索
- 「ruby -Ks test.rb」ほかにも「-Ku」などがあります。本記事
- cmdのchcpコマンドで表示文字コードを切り替える。こちら、またはこのサイトで「chcp」と検索
今回は二番目の「-Ks」についてです。とは言っても引用させてもらいます↓。
ping = `ping 127.0.0.1`
puts ping, "Rubyから出力しました"
puts ping + "Rubyから出力しました"
#どっちも同じ
上記のコードを次の3つで実行してみてください。
サクッと「バッククォートping 127.0.0.1バッククォート」という意味不明なコードがございますが、こちらに書きました。Rubyからcmdコマンドを実行した結果受け取れるすごく便利な書き方です。
ruby test.rb
ruby -Ks test.rb
ruby -Ku test.rb
これをバッチファイルで実行したらどうなるんでしょうね笑?「自分で自分を実行する!?」怖くてやってません。
(ちなみに上記の最後の改行含めた4行をコピーしてcmdに貼り付けたら一気に3つ実行してくれます。)
(RubyからWindowsのバッチファイルを実行する方法はこちら)
挙動を自分で確認するのはすごく良いことだと思います。まぁ文字化けしたら「-Ks」か「-Ku」を両方試せばいいのですが。
そうやって感覚を増やしていきましょう!
プログラミングってすごく何と言いますか「カチっと」してるもの(意味不明笑?)というイメージがありましたが、最近結構「感覚的」な気がしています。