X



オブジェクト指向perl

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
垢版 |
02/05/29 01:51ID:vRl7MJUj
モジュールを作ろうとしているのですが、何か分かりやすい参考書
やサイトないですか?なかなか見つかりません。
0002 ◆unKo/nko
垢版 |
02/05/29 04:57ID:???
今だ!2番ゲットォォォォ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄
     ∧∧ ∧∧ ドドドドドド・・・・
    (゚Д゚ ,,) (゚Д゚ ,,)  ∧∧      (´´
    ⊂_⊂V⊂ ⊂ )⊂(゚Д゚ ,,)_/(´´
     Y /⊃ | .L⊃∧∧∪ _⊃(´⌒(´
   ドカ ∪∧∧J⊂(x _x⊂ノ(´⌒(´  (´´
 ドカ  ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
    ズザ・・・
0003nobodyさん
垢版 |
02/05/29 05:54ID:???
>>1
他のオブジェクト指向言語の利用経験はあるの?

Perlのオブジェクト指向機能って変則的だから、オブジェクト指向の概
念がしっかりわかってないとツラいよ。もし経験が無いなら遠回りなよ
うでも一旦Ruby等の言語を使ってみる事をすすめる。
0004nobodyさん
垢版 |
02/05/29 17:21ID:???
『オブジェクト指向Perlマスターコース』。
あと自分の作ろうとしてるモジュールが既にないか調べとけ。

1に質問書く単発スレうざい。
0005
垢版 |
02/05/29 20:58ID:???
>>3
オブジェクト指向は初めてです。
はじめがperlなんで・・・
それにしても一旦rubyをやるとなると相当時間かかりますね。
それほど大変なんだろうな。ありがとうございます。

>>4
それ今日たまたま見た。6500円はちと高い。
作ろうとしているものが既にあるかどうか調べといてやるよ。
0006nobodyさん
垢版 |
02/05/29 21:02ID:???
>>4
おまえさ、もっと普通に会話できんの?
アドバイスはありがたいんだけど、見てるとむかつくんだよ。
ガチンコじゃね〜んだから、もっと普通にしろや。
00074
垢版 |
02/05/29 21:25ID:???
1に質問書く単発スレうざい。
1に質問書く単発スレうざい。
1に質問書く単発スレうざい。

3回書けば判っていただけますか?
それと「調べといてやるよ」なんてバカみたいなことは一々宣言しないで結構です。
『Perlモジュール活用ガイド』はモジュール作るのにはあまり役に立たないが、
Chapter10のデバッグ関連の所は一通り見た方がいい。
0008nobodyさん
垢版 |
02/05/29 22:18ID:???
1はオブジェクト指向したいわけじゃなくて、単にモジュールが作りたいだけか?
それなら手持ちの入門書で「モジュールを作る」あたりを読めば簡単。
0009nobodyさん
垢版 |
02/05/30 01:26ID:axCq6x30
もういいから Ruby 使いなさい。
00101
垢版 |
02/05/30 02:00ID:???
>>8
どちらもです。
0011nobodyさん
垢版 |
02/05/30 07:17ID:???
>>10
まずはオブジェクト指向してないモジュールを書くとこから始めれ。
$obj->method()形式で呼び出せないとカッコ悪いと思ってるかもしれな
いけど、全然そんな事ないから気にするな。

あと、オブジェクト指向ってのは見通しのよいプログラムをデザインす
るための大量の思想・概念・道具類・センス等の寄せ集めだから、文法
憶えてハイ修得ってわけにはいかない。生涯かけて学んでゆく規模だか
ら、数種類の言語を学ぶぐらいは当然。で、Perlでオブジェクト指向を
学ぶのは遠回りだ。時間浪費する事になるよ。
0012nobodyさん
垢版 |
02/05/30 16:09ID:???
SocketモジュールとIO::Socketモジュールの違いみたいなもんか。
0013nobodyさん
垢版 |
02/05/31 17:01ID:aUKFTjWZ
>>11
オブジェクト指向自体はそんなことめざしてません。
00141
垢版 |
02/06/01 01:25ID:???
>>11
とりあえずオブジェクト指向していないモジュール(つうか
自作のサブルーチンを集めたようなもの)はいろいろ作ったり
してます。いろいろ作っていくうちCGI_Lite等のようなものを
作りたくなった、というのもオブジェクト指向を勉強してみた
いと思った要因でもあります。
まずは「オブジェクト指向」というものはどんなものか?
ということから理解しないとだめなんすね?それにはrubyをまず
してみろと・・・長い道のりになりそうだけどがんばってみます。
アドバイスありがとうございます。
0015 
垢版 |
02/06/01 19:57ID:???
4は普通だと思うが・・・
ずいぶん、甘い板になったな。
初心者スレでCGIに関する質問もずいぶん多くなったし
0016nobodyさん
垢版 |
02/06/03 00:17ID:???
>15 そだねー。
おれなんか初心者スレに質問書いた時、回答が「基礎からやりなおせ」だけだった時があったからね。
答えるのがあたりまえとは思ってないけど、答えるんなら、も少し情報くれてもいいのにとは思った。
0017use IO::Socket;
垢版 |
02/07/01 12:34ID:???
駄スレ再利用計画
ここをオブジェクト指向Perl講座にしてみよう
0018use IO::Socket
垢版 |
02/07/01 12:39ID:???
クラス作るまで

1.クラスの生成
{ package ClassA;
}

2.コンストラクタ
メソッド名はなんでもいいが一般的にはnew
{ package ClassA;
sub new {}
}

3.コンストラクタ実装
ClassAのオブジェクトを返すには、自分のアドレスとデータメンバの入った
無名ハッシュをblessする

{ package ClassA;
sub new {
my $class = shift;
my $hash = {
data1 => shift,
data2 => shift,
data3 => shift
};
bless( %hash, $class );
}
}

4.あとは適当にメソッドなど追加する。以上
0019use IO::Socket
垢版 |
02/07/01 12:48ID:???
オブジェクト

1.オブジェクトの生成
$obj1 = ClassA -> new( $data1, $data2, $data3 );

「ClassA ->」は第一引数にClassAへの参照が入る。
よって@_は( ClassA, $data1, $data2, $data3 )となる。

2.オブジェクトの使用
1.で$objにClassAのオブジェクトが入っているのでこれを利用する。
$retvalue = $obj -> Method1();
もし、Method1がClassBのオブジェクトを返し、Method2がClassBに属する(以下略)なら
$retvalue = $obj -> Method1() -> Method2() -> Method3() ...;
と続けて出来る。これぞオブジェクト指向。
0020nobodyさん
垢版 |
02/07/01 14:52ID:???
無意味で分りにくい解説禁止。
0022ぺるにゃん
垢版 |
02/07/18 02:36ID:???
まず Perl 以外のオブジェクト指向言語に触れてから、
Perl に戻ってきた方が理解が早いと思うにゃ。
だまされたと思って、Java とかやってみて。
0023nobodyさん
垢版 |
02/07/18 09:32ID:???
形無し言語でクラスとか多様とか言われてもぴんとこない・・・。
全部元クラスじゃんみたいな。
0024nobodyさん
垢版 |
02/07/18 15:03ID:???
>>17-19
こんな抽象的な説明でオブジェクト指向を理解できる初心者がいたら凄いな・・・
0025nobodyさん
垢版 |
02/07/18 20:22ID:???
>>23
キミのもっている「形無し言語」の定義と、
世間一般の「形無し言語」の定義は違うぞ。
0026初期不良
垢版 |
02/07/18 22:48ID:5Jy0ruag
おりゃPerlモジュール活用ガイドを読んでモジュール作ったけどね、
継承のためにこんなコンストラクタ作らなきゃならんのは
どうかと思う罠。Perl6 だとどうなるのか知らんけど。
sub new{
my $param = shift;
my $class = ref($param) || $param;
my $obj = {};
bless($obj, $class);
return $obj;
}
0027nobodyさん
垢版 |
02/07/19 02:00ID:???
>>26
$obj->new(...);
ってのを許すのはあまり好ましくないと言ってみる
0029初期不良
垢版 |
02/07/19 03:52ID:???
>>27
しかもこれの事をクローニングとか逝ってたしw
値をきちんとコピーする clone メソッドは別に作ったよ。
ろくに使わんけどなー
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況