[ruby-dev:45179] Re: [ruby-trunk - Feature #5959][Assigned] Addrinfo#inspectname

From: "NARUSE, Yui" <naruse@...>
Date: 2012-02-02 10:13:41 UTC
List: ruby-dev #45179
(2012/02/02 18:33), Tanaka Akira wrote:
> 2012年2月2日18:12 Tanaka Akira <akr@fsij.org>:
>>
>> inspectname はホスト名ではありません。
>>
>> ドキュメントの例に
>>
>>  *   Addrinfo.getaddrinfo("www.kame.net", 80, nil, :STREAM)
>>  *   #=> [#<Addrinfo: 203.178.141.194:80 TCP (www.kame.net:80)>,
>>  *   #    #<Addrinfo: [2001:200:0:8002:203:47ff:fea5:3085]:80 TCP
>> (www.kame.net:80)>]
>>
>> というところの www.kame.net:80 というように、ポートがつくこともあります。
>> (いま動かすとなぜかつきませんが、それは意図せざる動作です。)
> 
> おっと、これは意図的でした。:80 がアドレスの部分にすでに表示されていて、
> 冗長なので削ったでした。
> 
> "http" に指定すれば、inspectname がホスト名そのものでない例になります。
> 
>   % ./ruby -rsocket -rpp -e 'pp Addrinfo.getaddrinfo("www.kame.net",
> "http", nil, :STREAM)'
>   [#<Addrinfo: 203.178.141.194:80 TCP (www.kame.net:http)>,
>    #<Addrinfo: [2001:200:dff:fff1:216:3eff:feb1:44d7]:80 TCP
> (www.kame.net:http)>]
> 
> つまり、結論は同じで、inspectname はお望みのものではありません。

なるほど、ならばわたしが欲しいのは「inspectnameの一部」ですね。
削ればいいだけのように聞こえます。

> inspectname は生成したときの情報を inspect のためにわかりやすいように
> 残しておく、というのが意図です。
> 
> また、Addrinfo の生成時には必ずしもホスト名が存在するとは限らないように思います。

まさに生成したときの情報が欲しいので、こちらもそれで構いません。
ホスト名が存在しない場合は nil でいいんじゃないでしょうか。

-- 
NARUSE, Yui  <naruse@airemix.jp>

In This Thread