有没有什么简单的方法可以将 IP 范围转换为 IP 数组?
def convertIPrange (start_ip, end_ip)
#output: array of ips end
end
例如输入
('192.168.1.105', '192.168.1.108')
输出
['192.168.1.105','192.158.1.106','192.158.1.107','192.158.1.108']
最佳答案
使用 Ruby 标准库 IPAddr
# I would suggest naming your function using underscore rather than camelcase
# because of Ruby naming conventions
#
require 'ipaddr'
def convert_ip_range(start_ip, end_ip)
start_ip = IPAddr.new(start_ip)
end_ip = IPAddr.new(end_ip)
# map to_s if you like, you can also call to_a,
# IPAddrs have some neat functions regarding IPs,
# be sure to check them out
#
(start_ip..end_ip).map(&:to_s)
end
关于Ruby:如何将 IP 范围转换为 IP 数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20608121/