Perl サブルーチンのレファレンスをつくる
テーマ
サブルーチンをレファレンス化して実行してみる。
サンプルコード
my $codeRef = \&daikeiNoMenseki; my $menseki = $codeRef->(200,40,500); print "Area measurement: $menseki\n"; sub daikeiNoMenseki { my ($joutei, $katei, $takasa) = @_; if ($joutei < 0 || $katei < 0 || $takasa < 0 ) { warn "argument must be greater than 0!\n"; return -1; } my $menseki = ($joutei + $katei) * $takasa / 2; return $menseki; }
ポイント
- 配列レファレンスやハッシュレファレンスと同様に
\
を付けることでレファレンスがつくれる。
&daikeiNoMenseki
を\&daikeiNoMenseki
とする。
2.サブルーチンレファレンスでも矢印記法でデリファレンスできる。
$codeRef->(200,40,500)