Ruby 如何增加IP地址中的最后一个八位字节

Ruby 如何增加IP地址中的最后一个八位字节,ruby,Ruby,如何编写一个ruby helper函数,该函数将从222.164.153.58递增到222.164.153.59,或者如果第三个八位字节达到最大值,则正确递增第三个八位字节。使用 使用 IPAddress对象具有成功方法 IPAddress对象具有成功方法 如果您需要增加一个以上的值,succ并没有太大的帮助,因为您必须在循环中进行。假设您要计算3000个地址的上限和下限: require 'ipaddr' lower = IPAddr.new('10.0.0.0') upper = IPAdd

如何编写一个ruby helper函数,该函数将从222.164.153.58递增到222.164.153.59,或者如果第三个八位字节达到最大值,则正确递增第三个八位字节。

使用

使用

IPAddress对象具有成功方法

IPAddress对象具有成功方法


如果您需要增加一个以上的值,succ并没有太大的帮助,因为您必须在循环中进行。假设您要计算3000个地址的上限和下限:

require 'ipaddr'
lower = IPAddr.new('10.0.0.0')
upper = IPAddr.new(lower.to_i + 3000, Socket::AF_INET)
然后您可以像这样迭代它们:

for ip in lower..upper
  # Do something with ip
end

如果您需要增加一个以上的值,succ并没有太大的帮助,因为您必须在循环中进行。假设您要计算3000个地址的上限和下限:

require 'ipaddr'
lower = IPAddr.new('10.0.0.0')
upper = IPAddr.new(lower.to_i + 3000, Socket::AF_INET)
然后您可以像这样迭代它们:

for ip in lower..upper
  # Do something with ip
end

我们希望您向我们展示您编写的代码,并解释为什么它不起作用。堆栈溢出不是一个给我代码的站点,它是一个请帮助我修复我的代码站点。我们希望您向我们展示您编写的代码,并解释为什么它不起作用。堆栈溢出不是一个给我代码的站点,它是一个请帮助我修复代码站点。