_ [comp] ruby で Socket.gethostbyname が変

しばらく前から、

% irb1.8 -rsocket
irb(main):001:0> Socket.gethostbyname( '210.163.138.100' )[0]
=> "210.163.138.100"

のように Socket.gethostbyname でホスト名が取れなくなっていたので探してみる。ちゃよて・ちゃよて-生活活用形:Ruby 1.8のresolvを使ってみる より、Socket.gethostbyname() の代わりに、Ruby1.8 に標準添付されている resolv ライブラリの Resolv.getname() を使うといいようだ。

% irb1.8 -rresolv
irb(main):001:0> Resolv.getname( '210.163.138.100' )
=> "beryllium.ruby-lang.org"