--pgp-sign-Multipart_Mon_Sep_28_20:38:56_2009-1
Content-Type: text/plain; charset=ISO-2022-JP

At Mon, 28 Sep 2009 10:26:18 +0900,
Kazuhiro NISHIYAMA wrote:
> At Sun, 27 Sep 2009 12:00:48 +0900,
> Akinori MUSHA wrote:
> >
> >  これは受け入れられません。IPAddrはネットマスクも保持するため
> > ネットワークもできますが、第一義はIPアドレスなので、ネット
> > マスクの違いで等しくなくなるのはまずいです。
>
> ネットマスクで思い靴燭里任垢;
 賓槍糅鈬│厩荻蔚軒握丑牡〒 蕊仭粐鯢做敢厩荻蔚軒握渥乙貴乙貴乙貴 賓槍糅鈬│厩荻蔚軒握億牡〒 蕊仭粐鯢做敢厩荻蔚軒握渥乙貴乙貴乙貴阿里茲Δ縫優奪肇泪好があるとnewの引数の文字列よりも情報が減ってしまって
> 別途元のIPアドレスを持っておかないといけないのが不便です。

 これはど忘れしていました。ネットマスクを指定すると mask! されて
ネットワークアドレスになるんですね。(というかすべてがネットワーク
アドレスで、フルビットマスクによって単一のIPアドレスを)

 とすれば の変更はリーズナブルとも言えますが、互換性を失うこと
にはやはり抵抗を覚えます。

 次のようなAPIの改針はどうでしょうか;

賓槍糅鈬痲糅燉蜚萬鈬轣鼡を含む文字列

で生成されたインスタンスについては内部でフラグを立て、 netmask に
依らない比較を含め萃未蠅某兇詆颪Δ茲Δ砲靴泙后

 上でこの用法は段階的に警告〜廃止し、新設する

IPAddr.parse(addr_with_netmask)	# / を含む文字列
IPAddr.new(addr, netmask)	# ネットマスクは第2引数で指定

への移行を促します。

 こうすると、新たに「フルビットでないネットマスクを指定された
IPアドレス」という新種のインスタンスが加わることになるので、
等価性や大小関係を含む任意の演算について新しい定義を導入できる
ようになります。

 ただの思いつきですが、ひとつの材料としていただければ。

--
Akinori MUSHA / http://akinori.org/

--pgp-sign-Multipart_Mon_Sep_28_20:38:56_2009-1
Content-Type: application/pgp-signature
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (FreeBSD)

iEYEABECAAYFAkrAoFEACgkQkgvvx5/Z4e6w+wCcD0ipzv32MwrgXgCyJ+hr7Jwr
S7EAnjzzRfQgJVJIOlzXWnsjJlBD/pp2
0Q
-----END PGP SIGNATURE-----

--pgp-sign-Multipart_Mon_Sep_28_20:38:56_2009-1--