From: Nobuhiro IMAI Date: 2009-08-14T21:19:42+09:00 Subject: [ruby-dev:39085] Re: [Feature:1.9] How about IPAddr#<=> to take care of mask_addr? いまいです。 From: Nobuhiro IMAI Date: Fri, 7 Aug 2009 18:31:36 +0900 > と、ちょっと残念な感じです。<=> で、@addr が同じ場合は @mask_addr の大 > きい方が IPAddr として大きいとすると、ネットマスクの長い方が採用される > ようなイメージでうれしい気がするのですが、どうでしょうか? > > また、これで(というか元から?) IPAddr#== は不要な気がするのですが、何 > か見落としてるでしょうか? > > IPAddr.new("192.168.2.0/24") == IPAddr.new("192.168.2.0/32") > > が true から false に変わるという仕様変更なのですが、どうでしょうか? 少し時間が開いてしまいましたが、 * アドレスが同じ場合、ネットマスク長が長い方が IPAddr として大きいとみ なす(IPAddr#<=> で @mask_addr を考慮する) * <=> と Comparable により == は定義されるので、IPAddr#== は廃止する という [ruby-dev:39038] のパッチはどうでしょうか? -- Nobuhiro IMAI Key fingerprint = F39E D552 545D 7C64 D690 F644 5A15 746C BD8E 7106