Perlの勘所3 サブルーチン

第3回となったPerlの備忘録です。リアルではプログラミング業務を開始したので、余裕があるときに備忘録としてまとめていきたいと思います。
 

メソッド/サブルーチン

メソッド/サブルーチンの呼び出し

&MethodName($param1, $param2, $param3);

 
関数名呼び出しには頭に「&」を記述する。引数は他の言語と同じくカンマ(,)区切りで記述する。
 

メソッド/サブルーチンの引数受け取り

sub MethodName{
    my ($param1, $param2, $param3) = @_;
}

 
メソッド/サブルーチン宣言の頭にはsubを書く。呼び出し元から渡された引数は@_から受け取ることができる。@_で複数の引数を受け取る時はmy ($param1, $param2, $param3)というようにリストでまとめて受け取ることができる。
 
@_以外にもshiftと書くと引数を一つずつ受け取ることができる。

sub MethodName{
    my $param1 = shift; //第一引数受け取り
    my $param2 = shift; //第二引数受け取り
    my $param3 = shift; //第三引数受け取り
}

 

invocantについて

invocant(インボカント)はパッケージスコープ外のメソッドを呼び出した時に自動的にメソッドの引数に渡されるパッケージの参照情報である。パッケージスコープ外のメソッドを呼び出すと、必ず引数の1番目に入ってくる。
 
invocantについて、詳しくは次回の記事でまとめる。
 
 
以上
 
 
参考
$foo = shift;ってなんだろうか? – marsonicの日記
引数を任意の変数に格納 – サブルーチン – Perl入門

Article written by

コメントを残す