如何在ruby中将int32 IP地址转换为八位字节?

时间:2016-11-02 22:17:57

标签: ruby ip type-conversion

我正在寻找与此相反的方式:

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 个答案:

答案 0 :(得分:1)

好的,找到了答案:

require 'ipaddr'

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