如何使用网络掩码创建IPAddr对象

时间:2015-07-22 14:39:42

标签: ruby

我只是尝试使用Ruby的IPAddr类,并且我一直想知道是否可以使用网络掩码创建新的IPAddr。为了澄清我的问题,这就是我所做的:

IPAddr.new "192.186.2.253/24"
=> #<IPAddr: IPv4:192.186.2.0/255.255.255.0>

我期望得到这个:

#<IPAddr: IPv4:192.186.2.253/255.255.255.0>

如果我使用to_range方法,则ip地址与第二个示例匹配。

我这堂课有什么问题吗?如何在不切断主机ID的情况下初始化此类IP地址。

非常感谢

1 个答案:

答案 0 :(得分:1)

当提供网络掩码时,地址被视为网络地址,而不是主机地址,至少是我如何将您的发现与the docs结合起来:

  

如果指定了prefixlen或mask,则返回屏蔽的IP地址

我假设,通过&#34;屏蔽的IP地址&#34;,作者意味着一个网络地址,至少考虑到您观察到的行为和description of the IPAddr#to_range method,这是最有意义的。