「初めてのPerl」 第四章 - 1
第四章から。
第四章 サブルーチン
用語集
サブルーチン | ユーザが定義した関数。コードの固まりをリサイクル出来る。 |
---|---|
レキシカル変数 | プライベート変数。囲まれたブロック内のみにスコープを持つ。 |
スコープ | アクセス可能範囲。 |
Point
- サブルーチンの定義と呼び出し。
#helloというサブルーチンを定義して sub hello { print "hello!"; } #呼び出すと &hello; #hello!
- 戻り値。
#戻り値は最後に評価された値になる #例えば $x = 4; $y = 5; sub add { $x + $y; } print &add; #とすると #9
- 引数。
sub max { if ( $_[0] > $_[1] ) { $_[0]; } else { $_[1]; } } print &max( 5, 10 ); #とすると #10 #サブルーチン内では引数のリストを@_という配列変数で受け取ることが出来る
- プライベート変数(my演算子)。
#サブルーチン内にプライベート変数を作ることが出来る #例えば上の&maxを sub max { my ( $x, $y ) = @_; if ( $x > $y ) { $x; } else { $y; } } #のように書き直せる #my演算子を使えばプライベート変数を宣言できる #(というよりuse strict使ってたらmy付けないとエラーで実行すら出来ない)
- &maxの引数を何個でも指定できるようにする。
sub max { my( $maximum ) = shift @_; foreach ( @_ ) { if ( $_ > $maximum ) { $maximum = $_; } } $maximum; } print &max( 1, 9, 5, 8, 2 ); #9 #この場合にかぎらず、引数が空の場合も考慮しておく必要がある
次回は
次回は第四章の続きから。