MAIN: {
my @array = (1 .. 5);
print three(\@array);
exit;
}
sub three {
my $array = shift;
return $$array[2];
}
のように、サブルーチンに配列リファレンスを渡したあと、$$array[2]のようにデリファレンスするのが面倒なのですが、
このとき$array[2]と書ける何か良い方法はないでしょうか?
# 大きな配列を取り扱うので、リファレンスを使いたいんです。。
型グロブを使うことも考えたのですが、サブルーチン内でmyで宣言出来なくて、スコープ的にまずくなりそうなので断念しました;
どなたかアドバイスしていただけると嬉しいです。。
No.3
- 回答日時:
ちょっと別の切り口で。
アロー演算子を使うほうが見た目にもスッキルすると思います。
return $array->[2];
ちなみにハッシュでもアロー演算子が使えます。
$foo = \%bar;
return $foo->{'hoge'};
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題です 課題1 (二分探索木とセット) 大きさ size の配列 array を考える。す 2 2023/01/10 21:08
- その他(プログラミング・Web制作) listへのappendが出来ない件 1 2022/12/06 21:44
- PHP ファイルの書き込みについて教えて下さい。 1 2023/03/20 12:01
- Visual Basic(VBA) 型が一致しませんとエラー 6 2023/07/06 20:14
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 1 2022/10/27 14:21
- PHP PHPでCSVを出力するさいに、ループの中で前の行の値を変更したい 3 2022/10/27 17:44
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/02/07 09:58
- JavaScript java keyを配列で表記したい 10 2022/12/01 17:53
- PHP 配列の値の更新方法について 1 2022/08/05 09:49
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
index関数で複数個抜き出す
-
非共通要素を抜き出す
-
正規表現 perl 連続ヒットの...
-
複数の配列の要素を繰り返し処...
-
VBのReturnの使い方
-
範囲指定したセルを1つずつ飛...
-
vbscriptでIE自動入力(途中で...
-
Escキーを押すと、中断する時と...
-
DoEventsが必要な理由について
-
DOSコマンドのループ内のTIMEコ...
-
流れ図(フローチャート)が分か...
-
ハッシュマーク以降のアドレス取得
-
英語でのシャープとコメの呼び...
-
alarmの使用について
-
VBAでの一時停止と再開の方法
-
Perlのサブルーチンの引数に配...
-
動きっぱなしです。止め方とプ...
-
チェックデジットについて
-
VBA横データを縦にしたいです
-
プログラムの二重のIF文、FOR文...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データベースから取得したデー...
-
perlで2つの配列を比較する方...
-
perlでファイルの拡張子を除い...
-
python質問
-
QNo.3258883データベースから取...
-
組み合わせを作るアルゴリズム
-
非共通要素を抜き出す
-
アルファベットn文字の組み合わ...
-
grep関数を用いた複数行からの抽出
-
複数の配列の要素を繰り返し処...
-
桁数指定と四捨五入
-
ハッシュのハッシュの値代入で...
-
サブルーチンへ渡した配列のリ...
-
index関数で複数個抜き出す
-
二次元配列のつかいかた。
-
正規表現 perl 連続ヒットの...
-
配列に入った変数を二度使いたい
-
プログラミングについて。 1つ...
-
画面を強制的に再描画させる方法
-
VBのReturnの使い方
おすすめ情報