4章 サブルーチン
Perlでもユーザ定義のサブルーチンを
作れるんだそうです。(さすがに当たり前?)
この章で今のところわかったこと。
- 定義はsubで。
- 定義は基本的にはグローバル。
- 呼び出す時は&で。
- 戻り値は、最後に行われた計算の結果。
- 引数はローカルな配列@_に代入される。
- サブルーチンが期待するより多くの引数は、無視される。
- プライベートな変数を作る場合はmy演算子。
- local演算子は、実はグローバル変数でどうこう...*1
戻り値が「最後に行われた計算の結果」である、
という意味はわかりますが、まだ使い方がイメージできないですね。
自分で書けば慣れるかな。
my演算子は、今までstrictのエラーを避けるために
よく知らないで使っていましたが、
プライベートな変数(レキシカル変数*2)を定義するための
演算子だったんですね。:-)
引数は、その数や型がサブルーチンの定義の冒頭に
明記されるわけではなさそうなので、
わかりにくいな、と思ったら、
以下のような感じで冒頭に書くのがいい感じなんですって。
my($a, $b) = @_; #サブルーチンのパラメータに名前を付ける
これならわかりやすいや。
と、長くなってきたので 4.7.1 localとmyの違い までで
一旦区切ります。