Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在ruby中将int32 IP地址转换为八位字节?_Ruby_Ip_Type Conversion - Fatal编程技术网

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

如何在ruby中将int32 IP地址转换为八位字节?,ruby,ip,type-conversion,Ruby,Ip,Type Conversion,我在寻找与此相反的结果: require 'ipaddr' ip = IPAddr.new "10.0.2.15" ip.to_i # 167772687 我需要通过像167772687这样的考试,并且想回到“10.0.2.15” 这: 返回错误: IPAddr::AddressFamilyError: address family must be specified 如何指定我正在传递int32?好的,找到答案: require 'ipaddr'

我在寻找与此相反的结果:

require 'ipaddr'
ip = IPAddr.new "10.0.2.15"
ip.to_i                      # 167772687
我需要通过像167772687这样的考试,并且想回到“10.0.2.15”

这:

返回错误:

IPAddr::AddressFamilyError: address family must be specified
如何指定我正在传递int32?

好的,找到答案:

require 'ipaddr'

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

请记住,IPv6是一种东西,对您编写的任何代码都将变得越来越重要。
require 'ipaddr'

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