Feel Physics Backyard

HoloLensの出張授業をする会社で、教材を開発しています

090702-Windows用にputsがSJISを出力するように再定義してみた

Windows用にputsがSJISを出力するように再定義してみた。かっこよく言えばメタプログラミングであるが、やっていることは単純に

  1. putsをputs_originalにaliasし、
  2. 新たにputsをputs_originalを使ってdefしている

だけである(『プログラミングRuby』の「静的エイリアスチェーン」に相当)。

alias puts_original puts
def puts(string = "")
  puts_original(string.tosjis)
end

ただ、この工夫によってコード中の出力メソッドはすべてputsになり、他のOSへの移植性が良くなる。例えばAndroidへの移植などはすぐできるだろう。