gpt4 book ai didi

ruby - 从 ipaddr 转换为 netaddr :cidr type

转载 作者:数据小太阳 更新时间:2023-10-29 07:48:09 24 4
gpt4 key购买 nike

使用 ruby​​ 2.0.0,如何将 IPAddr 类型的对象转换为 NetAddr::CIDR

例子:

IPAddr.new("1a03:a240:0100::/56")
IPAddr.new("192.1268.1.0/24")

这不起作用,因为我不尊重网络掩码/前缀:

NetAddr::CIDR.create(IPAddr.new("1a03:a240:0100::/56").to_s).to_s
=> "1a03:a240:0100:0000:0000:0000:0000:0000/128"

最佳答案

这是我们在 Discourse 中使用的另一种解决方案

class IPAddr

def to_cidr_s
if @addr
mask = @mask_addr.to_s(2).count('1')
"#{to_s}/#{mask}"
else
nil
end
end

end

关于ruby - 从 ipaddr 转换为 netaddr :cidr type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19305586/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com