<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/perlref/">
    <title>いまさらPerlリファレンス</title>
    <link>http://w.atwiki.jp/perlref/</link>
    <atom:link href="https://w.atwiki.jp/perlref/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>いまさらPerlリファレンス</description>

    <dc:language>ja</dc:language>
    <dc:date>2007-12-22T03:33:02+09:00</dc:date>
    <utime>1198261982</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/perlref/pages/101.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/perlref/pages/99.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/perlref/pages/100.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/perlref/pages/97.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/perlref/pages/69.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/perlref/pages/98.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/perlref/pages/67.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/perlref/pages/96.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/perlref/pages/72.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/perlref/pages/95.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/perlref/pages/101.html">
    <title>オブジェクト指向</title>
    <link>https://w.atwiki.jp/perlref/pages/101.html</link>
    <description>
      *オブジェクト指向

【用語】

【説明】
-プログラムの書き方の一つ(とか言って、コレ一つしか紹介しない)。
-プログラムを、実体のある一つの物体としてプログラミングする考え。
-色々なたとえがあります(車だったり、たい焼きだったり)が、人間で例えたほうが一番わかりやすい(物ではありませんが)。
-基本的な型だけを作り、後で継承して使うのが一般的な書籍の説明。
-コレについては、Javaを勉強したほうが速そうだけど、JavaとPerlでは書き方が全く違うといっても過言ではないです。

【解説】
-以下は、使う言語がPerlであることを前提です。
-一つの物体の定義をクラスと言い、[[package]]で定義します。
-そのクラスの中で定義された[[変数]]を、メンバ変数やフィールドといったりします。
-そのクラスの中で定義された[[関数]]を、メンバ関数やメソッドといったりします。
-そのクラスの中で定義された、最初に呼び出すべき関数(大体は[[new]])を、コンストラクタと言います。
-クラスの定義は、あくまで定義しただけです。実際に使う場合は、その定義された物体の実体を作らなければなりません。その実体を作ることを、インスタンス化と呼びます。
-基本的には、そのクラスの中で定義された変数(フィールド)に直接に値を代入してはいけませんし、値を呼び出したりすることもいけません。
-基本的には、以下のような書き方。

 [[package]] TestObject;
 
 [[sub]] new {
         my $self = shift;
         my @args = @_;
 
         bless {
         }, $self;
 
         [[return]];
 }
 
 -------------------------------------
 # インスタンス化
 my $inst = new TestObject();

-以上、わかりづらい解説でした。
-習うより慣れろです。

【関連事項】
-[[サブルーチン]]
-[[連想配列]]
-[[package]]
-[[bless]]
-[[new]]    </description>
    <dc:date>2007-12-22T03:33:02+09:00</dc:date>
    <utime>1198261982</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/perlref/pages/99.html">
    <title>サブルーチン</title>
    <link>https://w.atwiki.jp/perlref/pages/99.html</link>
    <description>
      *サブルーチン

【用語】

【説明】
-一つ、またはいくつかの処理を一つにまとめ、何かしら値を返す一つのまとまり。
-わかりやすく言えば、携帯電話みたいなもの。
-同じような処理を一つにまとめ、定義したサブルーチン名で呼べば、同じ処理をしてくれるもの。
-ユーザーが自由に定義できるため、別名「ユーザー定義関数」とも呼ばれる。
-Perlで[[オブジェクト指向]]する場合、サブルーチンではなく[[メソッド]]と呼ばれる。
-特殊なサブルーチンとして、[[オートロード]]や[[無名サブルーチン]]などがあるが、それについては各項参照。

【関連事項】
-[[sub]]
-[[オートロード]]
-[[無名サブルーチン]]
-[[メソッド]]
-[[オブジェクト指向]]    </description>
    <dc:date>2007-12-22T03:09:27+09:00</dc:date>
    <utime>1198260567</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/perlref/pages/100.html">
    <title>名前空間</title>
    <link>https://w.atwiki.jp/perlref/pages/100.html</link>
    <description>
      *名前空間

【用語】

【説明】
-[[変数]]や[[関数]]がそれぞれ独自に持つ、それぞれの名前とは別の大きなまとまりの名前。
-わかりやすく言えば、人間の名前で言う苗字に値する。
-ありがたみは、[[ライブラリ]]や[[モジュール]]を作るようになって初めてわかるような気がする。
-Perlでは、省略時は「main」となる。

【関連事項】
-[[package]]
-[[オブジェクト指向]]
-[[ライブラリ]]
-[[モジュール]]    </description>
    <dc:date>2007-12-22T03:09:02+09:00</dc:date>
    <utime>1198260542</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/perlref/pages/97.html">
    <title>PROTOTYPE</title>
    <link>https://w.atwiki.jp/perlref/pages/97.html</link>
    <description>
      *PROTOTYPE

【宣言】
**【説明】参照。

【読み方】
-ぷろとたいぷ

【説明】
-[[サブルーチン]]の引数を指定する。
-[[$]]　…　[[スカラー変数]]一つ分。
-[[@]]　…　配列一つ分。
-[[%]]　…　上と似たようなもの(おそらく、[[連想配列]])。
-[[;]]　…　;(セミコロン)以降は省略可能な引数。

【関連事項】
なし    </description>
    <dc:date>2007-09-25T19:40:03+09:00</dc:date>
    <utime>1190716803</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/perlref/pages/69.html">
    <title>P</title>
    <link>https://w.atwiki.jp/perlref/pages/69.html</link>
    <description>
      *P

-[[package]]【宣言】
-[[print]]【関数】
-[[printf]]【関数】
-[[PROTOTYPE]]【宣言】    </description>
    <dc:date>2007-09-25T19:39:40+09:00</dc:date>
    <utime>1190716780</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/perlref/pages/98.html">
    <title>package</title>
    <link>https://w.atwiki.jp/perlref/pages/98.html</link>
    <description>
      *package

【宣言】
**package [[STRING]]

【読み方】
+ぱっけーじ

【説明】
-[[package]]で指定した行以降を、次の[[package]]宣言が出てくる行またはそのファイルの最後までが[[STRING]]の[[名前空間]]を持つようになります。
-↑は複雑なことを行っているように見えますが、簡単に、機能的に言えば、同じ名前が使えるということです。
-[[package]]宣言をしないと、自動的に[[名前空間]]はmainになります。普段は省略されていてわかりませんが、その中で宣言された変数(ここでは)variableは、正式には[ $main::variable ]]となります。[[名前空間]]をsubにすると、それ以降に宣言されたvariable(先ほどと同じ名前)は、[ $sub::variable ]となり、表面上(省略時)は同じに見えて、正確にはまったく違う変数になります。
-主に、ライブラリやモジュール、[[オブジェクト指向]]チックなプログラムを組むときに使用することが多いです。


【関連事項】
-[[bless]]    </description>
    <dc:date>2007-09-25T19:38:53+09:00</dc:date>
    <utime>1190716733</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/perlref/pages/67.html">
    <title>N</title>
    <link>https://w.atwiki.jp/perlref/pages/67.html</link>
    <description>
      *N

-[[NULL]]【型】    </description>
    <dc:date>2007-09-25T18:24:03+09:00</dc:date>
    <utime>1190712243</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/perlref/pages/96.html">
    <title>NULL</title>
    <link>https://w.atwiki.jp/perlref/pages/96.html</link>
    <description>
      *NULL

【型】
**なし

【読み方】
+ぬる
+なる

【説明】
-何もないということ。
-[[C]]ユーザーはとてもお世話になっているもの。
-ちなみに、読み方は「なる」のほうが英語読みに近い。

【関連事項】
なし    </description>
    <dc:date>2007-09-25T18:23:33+09:00</dc:date>
    <utime>1190712213</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/perlref/pages/72.html">
    <title>S</title>
    <link>https://w.atwiki.jp/perlref/pages/72.html</link>
    <description>
      *S

-[[sprintf]]【関数】
-[[STDERR]]【変数】
-[[STDIN]]【変数】
-[[STDOUT]]【変数】
-[[STRING]]【型】
-[[sub]]【演算子】    </description>
    <dc:date>2007-09-25T18:20:55+09:00</dc:date>
    <utime>1190712055</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/perlref/pages/95.html">
    <title>sub</title>
    <link>https://w.atwiki.jp/perlref/pages/95.html</link>
    <description>
      *sub

【演算子】
**1.  sub ROUTINE_NAME [([[PROTOTYPE]])];
**2.  sub ROUTINE_NAME [([[PROTOTYPE]])] { ... }

【読み方】
+さぶ

【説明】
-[[ユーザー定義関数&gt;サブルーチン]]([[サブルーチン]])を定義することが出来ます。
-[[サブルーチン]]については、[[サブルーチン]]参照。
-1.は、前方宣言と言い、[[サブルーチン]]名と引数のタイプ([[PROTOTYPE]])を宣言するだけです。
-2.は、宣言と定義をしています。{ ... }内に、実行時の動作を書きます。
-[[PROTOTYPE]]は省略できます。
-[[パッケージ]]([[package]])や[[bless]]、無名[[ハッシュ&gt;連想配列]]を利用すれば、[[オブジェクト指向]]チックなことが出来ます。
-[[PROTOTYPE]]だけを省略し、()を付けた名前で[[サブルーチン]]を宣言した場合、{ ... }内に値(数値や文字列)を入れると、[[定数]]として扱うことが出来ます。

【関連事項】
-[[my]]
-[[local]]
-[[our]]
-[[wantarray]]
-[[caller]]
-[[return]]    </description>
    <dc:date>2007-09-25T18:19:52+09:00</dc:date>
    <utime>1190711992</utime>
  </item>
  </rdf:RDF>
