加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ruby:如何将IP范围转换为IP数组

发布时间:2020-12-17 04:01:30 所属栏目:百科 来源:网络整理
导读:有没有简单的方法将IP范围转换为IP数组? def convertIPrange (start_ip,end_ip) #output: array of ips endend 例如输入 ('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标
有没有简单的方法将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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读