- ベストアンサー
perlで関数のプロトタイプでリファレンスの場合は?
perlで関数にプロトタイプを記述しようとしたのですが、リファレンスの場合はどうしたらよいのでしょうか? sub test(\$[ここに必ずリファレンス型]){ my($sca, $ref) = @_; } my $a = "A"; my @b = ("1", 2, "3"); test($a, \@b);
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
関数の使用法が少し変わってしまいますが。。 sub test($\@){ my($sca, $ref) = @_; print $sca, @{$ref}[2]; } my $a = "A"; my @b = ("1", 2, "3"); test($a, @b);
補足
私の勘違いかもしれませんが、 リファレンス型は \$や\@や\%が正解ということでしょうか? プロトタイプに \$を付けると、受け取ったサブルーチン内の変数ではすべて頭に¥がついていました。 \$はてっきり、スカラー必須という意味でなく、スカラーのリファレンスという意味が正しいと理解し、データ型を特定するという意味は間違いやすいので¥が付けばリファレンス型と断言してもよいのでしょうか? 間違っていましたら、ご指摘ください。