私は、こういうコードをよく書きます。
my $TDN = &func_hatten(8,10);
my $TON = &func_hatten(2,55);
my $MUR = &func_hatten(4,55);
my $YJSNPI = &func_hatten(7,55);
my $HOGE1 = &func_hatten(1,55);
my $HOGE2 = &func_hatten(9,55);
my $HOGE3 = &func_hatten(1,55);
my $HOGE4 = &func_hatten(9,55);
変数に、関数の戻り値を放り込むのですが、これが30個、40個もひとつのコードに書き込むのは美しくないような気がしています。
こういう場合は、プロの世界ではどうするのが「一般的」でしょうか?
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
追記。
戻り値に直接名称が必要な場合はハッシュを使うなどの方法があります。
戻り値関係なく、引数側だけに ('TDN', 8, 10)とすることでも双方向参照が可能になります。
大量であるならば検索に時間はかかるので不適切でしょうが。
No.4
- 回答日時:
かなり省略。
@ary2 = grep { [$f->($_),] } @ary1;
# $ary1[$a] は $ary2[$a] と対応する。
# これだけでもたぶん動くとは思いますが、
# 見てのとおり概念的なイメージです。使いやすいように(使えるように)してお使いください。
No.3
- 回答日時:
データとコードを分けるとか。
以下、表示がくずれるので空白2文字を全角にしていることに注意
use strict;
use warnings;
my %actor_of = (
TDN => { args => [ 8, 10 ] },
TON => { args => [ 2, 55 ] },
MUR => { args => [ 4, 55 ] }
);
for my $actor (keys %actor_of) {
$actor_of{$actor}->{return} = do_hoge( @{ $actor_of{$actor}->{args} } );
print $actor, ": ", $actor_of{$actor}->{return}, "\n";
}
sub do_hoge {
return $_[0] . ', ' . $_[1];
}
---
$ perl -w foo.pl
TON: 2, 55
MUR: 4, 55
TDN: 8, 10
No.2
- 回答日時:
戻り値を格納した変数を、この後でどう使うかで決まります。
ループ内で使うのなら、配列に入れといたほうがいとか、
なにかのキーを使って処理するならハッシュに入れたほうが使いやすいとか。
No.1
- 回答日時:
それぞれの変数は目的があっての事ですよね。
一般論では「変数の使い回しはメリットがない」ですね。なので目的が違う変数であればその数だけ用意するのが普通です。なので問題はないです。
PHPならJSONで受け渡ししたりクラスで受け渡ししたりするのもありますけどねー。関数がまとめられなければ難しいですけど。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 工学 Pythonの3次元描画に関する質問です 3 2022/12/07 20:07
- C言語・C++・C# Cのオブジェクトファイルの逆アセンブル 5 2023/05/13 01:51
- その他(プログラミング・Web制作) python flask から fastapiへの移行時のエラー対処 1 2023/02/05 12:26
- その他(クラウドサービス・オンラインストレージ) Google ColabでGoogleドライブのサブフォルダにファイルを生成する方法 1 2022/10/31 17:37
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- UNIX・Linux gawk 3 2022/08/18 14:07
- 英語 「名詞 of 名詞」において、どちらも同一人物が主体となったり所有する名詞の適切な各限定詞について 2 2022/08/18 11:32
- 英語 高校英語の問題 1 2023/05/23 15:29
- Ruby 教えてください 2 2023/01/04 17:50
- 英語 英文について教えて下さい。 2 2022/06/14 10:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
英語でのシャープとコメの呼び...
-
ハッシュ検索はなぜ速い
-
ハッシュの考え方、使用例を分...
-
重複ファイルを削除したいので...
-
チェックデジットについて
-
まったく同じファイルのハッシ...
-
ハッシュのハッシュを実現したい。
-
JSを使ったタブの別ページから...
-
連想配列のサイズ制限
-
ハッシュリストって単にハッシ...
-
データベースでユーザーのパス...
-
プログラミングについて。 1つ...
-
画面を強制的に再描画させる方法
-
VBのReturnの使い方
-
DoEventsが必要な理由について
-
クラスに配列を渡す方法
-
pythonでファイルのコメント行...
-
DOSコマンドのループ内のTIMEコ...
-
For文を使った九九表の作成
-
VBAで3秒だけ時間を止めたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ハッシュ検索はなぜ速い
-
文字列を変数名として扱う方法
-
チェックデジットについて
-
列挙型と連想配列の違いを教え...
-
まったく同じファイルのハッシ...
-
ハッシュ値が一致したデータは...
-
英語でのシャープとコメの呼び...
-
ハッシュのハッシュを実現したい。
-
データベースでユーザーのパス...
-
UTF-8で書かれたJSPの日本語文...
-
Perlは戻り値で、ハッシュや配...
-
perlで配列名を動的に作り出したい
-
ハッシュリストって単にハッシ...
-
短いハッシュの作り方
-
重複ファイルを削除したいので...
-
*(アスタリスク)の意味
-
連想配列のサイズ制限
-
python の素朴な疑問
-
多次元配列から重複を削除
-
一意(ユニーク)かつ、ソート...
おすすめ情報