[#4754] Now,I am starting ruby. — mamoru@... (Mamoru Matushita)

先日、初めて投稿したつもりだったのですが間違えて

14 messages 1997/10/02

[#4891] mixin - singleton method inheritance, const etc... — shugo@... (Shugo Maeda)

前田です。

13 messages 1997/10/10

[#5000] ruby 1.0-971015 released — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

14 messages 1997/10/15

[#5056] RubyでOODB — hisanori@...

松尾です。

20 messages 1997/10/20
[#5057] Re: RubyでOODB — matz@... (Yukihiro Matsumoto) 1997/10/20

まつもと ゆきひろです

[#5065] Re: RubyでOODB — hisanori@... 1997/10/20

松尾です。

[#5066] Re: RubyでOODB — matz@... (Yukihiro Matsumoto) 1997/10/20

まつもと ゆきひろです

[ruby-list:5150] Re: class method, instance method

From: HYOUDOU Kouichi /note <hyoudo@...>
Date: 1997-10-28 14:25:56 UTC
List: ruby-list #5150
兵藤です
ありがとうございました
man-1.0を読み直していくつかテストスクリプトを書いてわかりました

Masaki SuketaさんのMon, 27 Oct 97,05136
[ruby-list:5136] Re: class method, instance method  へのreplyです
> クラスメソッドは、クラスをオブジェクトとしてみたときの
> 特異メソッドです。特異メソッドの説明で、クラスメソッド
> に触れてます。

rubyではクラスメソッドにあたるものを特異メソッドというのですね
いままで特異メソッドはなんだろうと思いながら
特異メソッド関連を読み飛ばしていたばちがあたりました ^^;


matz@netlab.co.jp (Yukihiro Matsumoto)さんのMon, 27 Oct 97,05137
[ruby-list:5137] Re: class method, instance method  へのreplyです
> tailはMeimiクラスのインスタンスが存在しない場所でも呼ばれる
> ので,そのままではインスタンスのメソッドであるheadを呼べませ
> ん.どうしても呼びたければ内部でMeimi.newでインスタンスを生
> 成してメソッドを呼ぶことになるでしょう.


ただそれ以前に最初に間違った思いこみをしていました (^^;
特異メソッドから呼び出されるprivateな関数を作りたかったのですが
まず、初期化関連はnewのときに自動的に呼ばれるインスタンスメソッドの
initializeでしなれけばいけないことに気がついていませんでした
# initializeはインスタンスメソッドなので他のprivateメソッドを呼べました ^^;

つぎに、特異メソッドからprivateな特異メソッドに処理をまかせようとして
privateではなくprivate_class_methodを用いることに気がつきませんでした
(マニュアルはよく読まなきゃですね..)

特異メソッドの中でインスタンスを生成する方法は意外でした
試してみたらこれもうまくいきました


じつはnewではなくopenで初期化できるようにしようとしてはまっていました
その後とりあえずnewとinitializeを使うようにして動くようにしたのですが
ftplib.rbを見直していて特異メソッドの中でnewを(関数形式でもどちらでも)
呼び出すことができることにようやく気づきました ^^;
newが呼ばれると自動的にinitilizeメソッドが実行されるので
うまく処理できるコードが書けました

ps.
(C++Builderで作る前のプロトタイプとして)
メール箱を読み書きできるクラスをrubyで作っています
まずNeXTのメール箱を読めるようにしています
そのあとWindowsのEudoraとBecky!のメール箱に対応させるつもりでいます

---
'ruby', perl-4.x like(?) object oriented language
ruby homepage: http://www.netlab.co.jp/ruby/jp/
hyoudo@kcn.or.jp http://www.kcn.or.jp/~hyoudo/nextstep/ 兵藤公一

In This Thread