我一直在使用 ip-address gem,它似乎无法从以下形式的网络掩码进行转换
255.255.255.0
进入 CIDR 表格
/24
有谁知道如何快速将前者转换为后者?
这是快速而肮脏的方法
require 'ipaddr'
puts IPAddr.new("255.255.255.0").to_i.to_s(2).count("1")
应该有合适的函数,我找不到,所以我只数“1”
如果您要在多个地方使用该函数并且不介意猴子补丁,这可能会有所帮助:
IPAddr.class_eval
def to_cidr
"/" + self.to_i.to_s(2).count("1")
end
end
然后你得到
IPAddr.new('255.255.255.0').to_cidr
# => "/24"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)