[#38080] ポートが閉じているときの例外など — Mitsuru Ogino <ogino@...>

荻野と申します。いつも質問や要望ばかりですみません。

36 messages 2003/08/11
[#38086] Re: ポートが閉じているときの例外など — nobu.nakada@... 2003/08/12

なかだです。

[#38088] Re: ポートが閉じているときの例外など — IWAOKA Masahiro <iwaoka@...> 2003/08/12

いわおかです。

[#38091] Re: ポートが閉じているときの例外など — Mitsuru Ogino <ogino@...> 2003/08/12

荻野です。

[#38092] Re: ポートが閉じているときの例外など — nobu.nakada@... 2003/08/12

なかだです。

[#38093] Re: ポートが閉じているときの例外など — IWAOKA Masahiro <iwaoka@...> 2003/08/12

いわおかです。

[#38095] Re: ポートが閉じているときの例外など — Takahiro Kambe <taca@...> 2003/08/12

In message <20030812150516.GV37221@barber.fe.rn.tuat.ac.jp>

[#38102] Re: ポートが閉じているときの例外など — Tetsuo NAKAGAWA <tet@...> 2003/08/14

中川と申します。

[#38121] Re: ポートが閉じているときの例外など — Takahiro Kambe <taca@...> 2003/08/15

In message <20030814.140757.707824131.tetsuo@sapphire.siz.nes.nec.co.jp>

[#38123] Re: ポートが閉じているときの例外など — nobu.nakada@... 2003/08/16

なかだです。

[#38130] Re: ポートが閉じているときの例外など — Takahiro Kambe <taca@...> 2003/08/16

In message <200308160517.h7G5HcPL012839@sharui.nakada.kanuma.tochigi.jp>

[#38137] Re: ポートが閉じているときの例外など — nobu.nakada@... 2003/08/18

なかだです。

[#38139] Re: ポートが閉じているときの例外など — Takahiro Kambe <taca@...> 2003/08/18

In message <200308180959.h7I9xnb7001977@sharui.nakada.kanuma.tochigi.jp>

[#38122] ruby-tcpwrap and mkmf.rb — Takahiro Kambe <taca@...>

こんにちは。

16 messages 2003/08/16
[#38125] Re: ruby-tcpwrap and mkmf.rb — "Akinori MUSHA" <knu@...> 2003/08/16

At Sat, 16 Aug 2003 12:51:55 +0900,

[#38183] String << の動作につきまして — kuto@...

うと と申します。

44 messages 2003/08/22
[#38187] Re: String << の動作につきまして — Take_tk <ggb03124@...> 2003/08/22

たけ(tk)です。

[#38189] Re: String << の動作につきまして — Tadayoshi Funaba <tadf@...5.so-net.ne.jp> 2003/08/23

ふなばです。

[#38190] Re: String << の動作につきまして — Take_tk <ggb03124@...> 2003/08/23

たけ(tk)です。

[#38191] Re: String << の動作につきまして — Tadayoshi Funaba <tadf@...5.so-net.ne.jp> 2003/08/23

ふなばです。

[#38194] Re: String << の動作につきまして — Take_tk <ggb03124@...> 2003/08/23

たけ(tk)です。

[#38196] Re: String << の動作につきまして — Tadayoshi Funaba <tadf@...5.so-net.ne.jp> 2003/08/23

ふなばです。

[#38203] Re: String << の動作につきまして — 西 啓一朗 <receiver@...> 2003/08/23

ども、西啓一朗@Ktouth Brand. です。

[#38208] Re: String << の動作につきまして — Tadayoshi Funaba <tadf@...5.so-net.ne.jp> 2003/08/23

ふなばです。

[#38211] Re: String << の動作につきまして — 西 啓一朗 <receiver@...> 2003/08/24

ども、西啓一朗@Ktouth Brand. です。

[#38195] 理解の進め方(Re: String << の動作につきまして) — Tadashi Oh-Ya <toy@...>

おおやです。

36 messages 2003/08/23
[#38206] 理解の進め方:シュールな世界 — Take_tk <ggb03124@...> 2003/08/23

たけ(tk)です。

[#38233] シュールな名前 — Take_tk <ggb03124@...> 2003/08/25

たけ(tk)です

[#38198] Tmailで送るメールに日付がつけられなくなりました — 川田誠司 <kawada.seiji@...>

はじめまして

11 messages 2003/08/23

[#38256] かみ砕いた説明をすべき範囲 — 西 啓一朗 <receiver@...>

ども。西啓一朗@Ktouth Brand. です。

41 messages 2003/08/26
[#38258] Re: かみ砕いた説明をすべき範囲 — nobu.nakada@... 2003/08/26

なかだです。

[#38261] Re: かみ砕いた説明をすべき範囲 — Take_tk <ggb03124@...> 2003/08/26

たけ(tk)です

[#38262] Re: かみ砕いた説明をすべき範囲 — nobu.nakada@... 2003/08/26

なかだです。

[#38264] Re: かみ砕いた説明をすべき範囲 — Take_tk <ggb03124@...> 2003/08/26

たけ(tk)です

[#38265] Re: かみ砕いた説明をすべき範囲 — IWAOKA Masahiro <iwaoka@...> 2003/08/26

いわおかです。

[#38267] Re: かみ砕いた説明をすべき範囲 — Take_tk <ggb03124@...> 2003/08/26

たけ(tk)です

[#38273] Re: かみ砕いた説明をすべき範囲 — matz@... (Yukihiro Matsumoto) 2003/08/26

まつもと ゆきひろです

[ruby-list:38077] Re: module extendable?

From: Takeshi Horinouchi <horinout@...>
Date: 2003-08-11 09:25:47 UTC
List: ruby-list #38077
堀之内です。

> なかだです。

ご教示ありがとうございます。

> > モジュールをネストして module_function を継承(のようなことを)
> > することはできるでしょうか。具体的には、モジュールに入れたアルゴ
> > リズム(メソッド群)を取り替えやすくするため、以下のようなことを
> > したいのですが、うまくいきません。使用しているのは ruby 1.6.8 で
> > す。同様のことをするのに別の方法があるよとか、1.6 ではだめだけど 
> > 1.8 ならできるといった情報でも結構です。(まだしばらく1.6は切り
> > 捨てたくないので困りはしますが。。。)
> 
> module_functionは、インスタンスメソッドをメタクラスにコピーして
> 元のインスタンスメソッドはprivateにします。
> 
> > module Foo
> >   module_function
> >   def hi;  "hi";  end
> >   def there;  "there";   end
> > end
> > module Bar
> >   module_function
> >   extend Foo
> >   def hi;  'HI';  end
> > end
> 
> ここでextendは、Barのメタクラス(カッコをつけて(Bar)と表記)にモ
> ジュールFooをincludeするので、(Bar)にインスタンスメソッドhiと
> thereが追加されます。つまり、Bar自身の特異メソッドとして追加さ
> れるのはprivateであるFoo#hiとFoo#thereであって、publicであるク
> ラスメソッドFoo.hiやFoo.thereではありません。
> 
> ということで、extendしてからpublic_class_method :thereとすれば
> アクセスできるようになります。

ちゃんと理解できてませんが、module_function にするものは、もとは
public_class_method でないといけないんですね。確かにマニュアルを
見ると、module_function は、プライベートかつモジュール関数にする
と書いてあります。ともかく、メールに書いたソースの extend の後に

  public_class_method :there

を加えるだけで、モジュール関数として使えることを確認しました。
ありがとうございました。

> > なお、module Bar において extend でなく include にしてもだめです。
> > 
> > /.../nested_modules2.rb:18:in `there': undefined method `there' 
> > for Bar:Module (NameError)
> >         from /.../nested_modules2.rb:26
> 
> スーパークラスのクラスメソッドが継承されるように、includeされた
> モジュールのクラスメソッドも継承されるべき、ということでしょう
> か。

理解できてないので、「べき」かどうかは全くわかりません。
class に include する場合にはモジュール内に別のモジュールを
include できるので、類推でやってみたけど出来なかったまでです。
ただ、

  public_class_method :there

とするよりもわかりやすい方法があってもいい気はします。
(あるいはこの手法をマニュアルに載せるか...。
もし、これが想定されてない「裏技」ならば、将来使えなくなる
かもと、少し不安に思います。)


In This Thread