まつもと ゆきひろです

In message "[ruby-list:5898] Re: Are there any sample programs for UDP socket ?"
    on 98/01/20, Toshihiko SHIMOKAWA / 下川俊彦 <toshi / csce.kyushu-u.ac.jp> writes:

|ありがとうございます(_ _)。クラスメソッドって '::' 付けて呼びんですね。ぅぅ、
|勉強不足…(ドキュメント grep 中)。あれ、この辺のお約束ってドキュメントの
|どの辺を見れば載ってるでしょうか。p って関数も知りませんでした。print の
|省略形かしらん?

実はメソッドはすべてobj.methodでもobj::method()でも呼び出せ
ます.違いは::で呼んだ場合には引数がない時に括弧が省略できな
いことくらいでしょうか.今調べたら,リファレンスマニュアルに
載ってませんね,追加しておきます.

pはデバッグ用の関数で定義は

  def p(obj)
    print obj.inspect, "\n"
  end

です.こっちは関数として載っています.

|>   recvfrom(len)
|> 
|> です.recvfromは[文字列, [host, port]]という配列を返します.
|
|この形式で帰ってきてくれると扱いやすくて嬉しいです。しかし、send(mesg,
|flags, to) での to や TCPsocket#recvfrom との対称性が悪いような気がしま
|す。

UDPsocket#sendは

  send(mesg, flags[, host, port])

ですからこの件に関しては問題なしですね.また,アドレスの表現
方法がTCPsocket#recvfrom(やpeeraddrなどと)違うことについては,
気持ちとしては[host, port]の方が気分がいいが互換性などもある
んで,UCPsocketだけでがまんというのが正直なところです.

                                まつもと ゆきひろ /:|)