Perlは戻り値で、ハッシュや配列を正しく返さないのでしょうか?
返せるように見えて実際は、歯抜けのデータなど、不安定で使い物になりません。
よって、リファレンスでスカラー値で利用するのが正論でしょうか?
$a = '';
%b = ();
@c = ();
○ return ($a, \$b, \$c);
× retuen ($a, %b, @c);
○ my ($a, $b, $c) = aru_kansuu($hikkey, ('komori'));
× my ($a, %b, @c) = aru_kansuu($hikkey, ('komori'));
No.2
- 回答日時:
Cと同様に、返そうとする配列やハッシュへのリファレンスを返すべきです。
returnの引数はリストです。リストに配列を渡した場合はそのまま解釈されますが、
ハッシュを渡した場合はkey, val, key, valと並んだ配列に「潰して」渡されます。
さらに悪いことに、ハッシュ中のキーの並び方はめちゃくちゃになっており予想できません。
従って、配列とハッシュを混ぜて返したりすると滅茶苦茶になります。
No.1ベストアンサー
- 回答日時:
結論から言うと、アレイやハッシュはリファレンスで返すほうが良いと思います。
スカラはなんともいえませんがね。
> my ($a, %b, @c) = aru_kansuu($hikkey, ('komori'));
が、ダメな理由ですが、perl は アレイ列とハッシュ列、@a と %a は微妙に関係にあります。データの扱い的に無関係ではないんですわぁ。
perl のバージョンによってはかなり"濃密"(笑) な
関係にありますです。
my( $a , @a ) = &hogege();
my( $a , %a ) = &hogege();
は、問題ないですが
my( @a , %a ) = &hogege();
は、それなりに配慮すべきです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Perl perlをバージョンアップしたら、今まで正常に動いていたプログラムが、エラーになってしまった 3 2022/10/05 15:44
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Perl perlで2次元配列をサブルーチンに値渡しで渡す 5 2022/12/17 18:49
- Java Java 南京錠 2 2023/02/04 11:46
- C言語・C++・C# C言語初心者 構造体 課題について 2 2023/03/10 19:48
- その他(コンピューター・テクノロジー) ハッシュ値を取ったらその取ったハッシュ値はどのように保管すればよいのでしょうか?ハッシュ値のデータす 2 2023/07/02 19:40
- その他(コンピューター・テクノロジー) exFATの外付けSSDからパソコンのNTFSの内蔵ストレージにコピーした場合はコピーしたデータのハ 2 2023/08/09 19:51
- その他(コンピューター・テクノロジー) なぜデータの整合性を確認する時はハッシュ値で確認するのでしょうか?ハッシュ値は衝突する可能性があるの 5 2023/07/05 20:38
- PHP 配列の値の更新方法について 1 2022/08/05 09:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
文字列を変数名として扱う方法
-
チェックデジットについて
-
python の素朴な疑問
-
perlで配列名を動的に作り出したい
-
列挙型と連想配列の違いを教え...
-
ハッシュマーク以降のアドレス取得
-
ハッシュ検索はなぜ速い
-
英語でのシャープとコメの呼び...
-
プログラミングについて。 1つ...
-
エクセルの当番表を作っていま...
-
ネットワークループとルーティ...
-
どなたかこのプログラミングを...
-
VBA for i=1 to lastrow
-
画面を強制的に再描画させる方法
-
Perlで<select multiple>の複数...
-
QNo.3258883データベースから取...
-
【VBA】指定の範囲から特定の文...
-
リストボックスに縦スクロール...
-
while(*s++=*t++)の判定は?
-
イベントの発生を待つ
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ハッシュ検索はなぜ速い
-
文字列を変数名として扱う方法
-
チェックデジットについて
-
列挙型と連想配列の違いを教え...
-
まったく同じファイルのハッシ...
-
ハッシュ値が一致したデータは...
-
英語でのシャープとコメの呼び...
-
ハッシュのハッシュを実現したい。
-
データベースでユーザーのパス...
-
UTF-8で書かれたJSPの日本語文...
-
Perlは戻り値で、ハッシュや配...
-
perlで配列名を動的に作り出したい
-
ハッシュリストって単にハッシ...
-
短いハッシュの作り方
-
重複ファイルを削除したいので...
-
*(アスタリスク)の意味
-
連想配列のサイズ制限
-
python の素朴な疑問
-
多次元配列から重複を削除
-
一意(ユニーク)かつ、ソート...
おすすめ情報