2006-07-06
■ [ruby] Object#pretty_inspect
いつもppを便利に使わしてもらってる のだが、唯一ppした結果を文字列で得るメソッドがない($>に出力することしかできない)のが不満だった。
が、Ruby 1.8.5では obj.pretty_inspect という形式でobjをppした結果が得られるようになるらしい。やったね。
■ [ruby][SDL] Ruby/SDLでAAを表示する
意外と簡単にできてびっくりした。
require 'sdl'
SDL.init( SDL::INIT_VIDEO )
screen = SDL.setVideoMode( 640, 480, 16, SDL::SWSURFACE )
SDL::TTF.init
msp = SDL::TTF.open('C:\WINDOWS\Fonts\MSPgothic.ttf',16)
text = <<EOD
#ここに何かAAを貼る
EOD
screen.fill_rect(0,0,640,480,[255,255,255])
text.each_with_index do |line,i|
msp.draw_solid_utf8(screen, line.chomp, 0,i*18,0,0,0)
end
screen.flip
loop do
while event = SDL::Event2.poll
case event
when SDL::Event2::Quit, SDL::Event2::KeyDown
exit
end
end
end
実行例(大きいのはこちら)。

ファイルをUTF-8で保存するのを忘れないように。
あと、WindowsをCドライブ以外にインストールした人はフォントのパスを適当に書き換えてください。 (Windowsが入ってるドライブをRubyから取得する方法ってないんかな?)
PP.pp(a, '')で