2016-11-02 1 views
1

私はこれに反対を探しています:int32のIPアドレスをルビのオクテットに変換するにはどうすればよいですか?

require 'ipaddr' 
ip = IPAddr.new "10.0.2.15" 
ip.to_i      # 167772687 

私が167772687のようなものを渡す必要があり、そして戻って取得したい「10.0.2.15」。

この:

ip = IPAddr.new 167772687 

はエラーを返します:

IPAddr::AddressFamilyError: address family must be specified 

私はint32型を渡していることを指定する方法は?

答えて

1

OKは、答えを見つけました:

require 'ipaddr' 

ip = IPAddr.new(167772687, family = Socket::AF_INET) 
ip.to_s # "10.0.2.15" 
+0

は、IPv6が事で、あなたが書いたすべてのコードにますます重要になることを覚えておいてください。 – tadman

関連する問題