774 :
名無し:
サブルーチンについて勉強しています。
一つでは書き込めないため、三つに分けさせて頂きます。
ごめんなさい。
775のスクリプトで
return $result_x, $result_y;
この一行があると無いとでは結果が全く違います。
ここで問題にしたいのは$calc_value[0]と$calc_value[1]に入る値です。
この一行があってもなくても、いつでも
$calc_value[0] = $argument1(つまり10)
$calc_value[1] = $argument2(つまり1)
というわけではないのでしょうか?
また、776にある
my ($result_x, $result_y, $argument1, $argument2);
($argument1,$argument2) = @_;
この二行はそれぞれこのスクリプトの中でどういう役割を果たしているのでしょうか?
宜しくお願いします
775 :
名無し:2001/07/06(金) 03:31 ID:YsXZOyrU
#!/usr/bin/perl -w
$argument1 = '10';
$argument2 = '1';
@calc_value = &return_value($argument1,$argument2);
print "$calc_value[0]\n";
print "$calc_value[1]\n";
sub return_value {
$result_x = $argument1 + $argument2;
$result_y = $argument1 + $result_x;
print "----サブルーチン始----\n";
print "\$result_x = $result_x\n";
print "\$result_y = $result_y\n";
print "\$argument1 = $argument1\n";
print "\$argument2 = $argument2\n";
print "----サブルーチン終----\n";
return $result_x, $result_y;
}
776 :
名無し:2001/07/06(金) 03:32 ID:YsXZOyrU
#!/usr/bin/perl -w
$argument1 = '10';
$argument2 = '1';
@calc_value = &return_value($argument1,$argument2);
print "$calc_value[0]\n";
print "$calc_value[1]\n";
sub return_value {
my ($result_x, $result_y, $argument1, $argument2);
($argument1,$argument2) = @_;
$result_x = $argument1 + $argument2;
$result_y = $argument1 + $result_x;
return $result_x, $result_y;
}