3.7 KiB
3.7 KiB
title | author | date | wordtwit_post_info | categories | |||
---|---|---|---|---|---|---|---|
『[新版Perl言語プログラミングレッスン入門編』第10章 サブルーチン | kazu634 | 2008-03-09 |
|
|
今日はサブルーチンだよー。
簡単なサブルーチン
use strict; use warnings; my ($x, $y) = (123, 456); &print_xy($x, $y); sub print_xy { my ($x, $y) = @_; print "\$x = $x\n"; print "\$y = $y\n"; }
「&…」でサブルーチン呼び出しという意味になる。「@_」は引数のリストという意味かな?
戻り値のあるサブルーチン
戻り値のあるサブルーチンは、returnを用いると実現できるよ!
use strict; use warnings; print &calc_ave(100, 50, 30, 20) , "\n"; sub calc_ave { my @nums = @_; my $sum; foreach (@nums) { $sum = $sum + $_; } my $ave = $sum / @nums; return $ave }
本に載っているやつだと汎用的じゃあなかったから、引数が何個でも大丈夫なようにしてみた。直前の章のコンテクストがうまく理解できている気がする( my $ave = $sum / @nums。この場合スカラーコンテクストだから、@numsは配列の要素数になるんだよね)。