sub totalを自作して以下のコードと組み合わせて走らせなさいという問題です。
my @fred = qw{1 3 5 7 9};
my $fred_total = &total(@fred);
print "The total of \@fred is $fred_total.\n";
print "Enter some numbers on separate lines: ";
my $user_total = &total(<STDIN>);
print "The total of those numbers is $user_total.\n";
ここの、<STDIN>で、標準入力にどのように入力したら和が正確に表示されるのでしょうか?
1 3 5 7 9 エンター Ctrl+D
1,3,5,7,9 エンター Ctrl+D
qw{1,3,5,7,9} エンター Ctrl+D
などいろんな入力を試しましたが、どれも配列として受け取ってくれず、
Argument "1,3,5,7,9\n" isn't numeric
などのエラーがでてしまいます。
on separate linesの意味がよくわかりません。
「線で区切れ」と言われても・・・、です。
標準入力からの配列の入力方法をご存知の方、ぜひご教授ください。
No.2ベストアンサー
- 回答日時:
単純に
1(エンター)
3(エンター)
5(エンター)
7(エンター)
9(エンター)
CTRL+D(またはCTRL+Z 、windows系)
で良いと思います。
セパレートラインズは、要するに改行で区切れということかと
sub total {
my $sum=0;
foreach (@_){
$sum += $_;
}
return $sum;
}
>セパレートラインズは、要するに改行で区切れという
ことかと
ズバリそのとおりでしたっ。
OSはfreeBSDなので、Ctrl+Dでした。
ご回答ありがとうございましたっ。
No.1
- 回答日時:
こんなんでどうでしょうか?
入力データはカンマで区切られた文字列です。
my @fred = qw{1,3,5,7,9};
my $fred_total = &total(@fred);
print "The total of \@fred is $fred_total.\n";
print "Enter some numbers on separate lines: ";
my $user_total = &total(<STDIN>);
print "The total of those numbers is $user_total.\n";
sub total {
my $Param = shift;
my @Data = split(/,/, $Param); # カンマで区切られた値を@Data配列にセット(/,/を/ /に変えれば区切りはスペース)
my $Sum = 0;
foreach $Num (@Data) { # 配列のよう素数だけループして合計を求める
$Sum += $Num;
}
return $Sum # 求めた合計を返す
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) python コードについて(初学者です) 3 2023/07/20 14:44
- C言語・C++・C# [至急]Project Euler:#18Maximum path sum Iコード、入力出力、解説 4 2022/09/24 02:49
- 英語 A generalization can be made that a cyst, which oc 2 2023/03/30 19:50
- 英語 ビジネス英語です。 添削お願いします。 Dear, ◯◯ Thank you very much. 3 2023/03/01 04:25
- Excel(エクセル) RANK.EQとCOUNTIFSの組み合わせで同ポイントの場合、違う条件を加えて順位を付けたい。 1 2022/08/30 19:49
- 英語 The shape of the pyramid, however, has changed as 1 2022/04/27 20:59
- 英語 Results: In total, 5,963 titles were identified wi 4 2022/12/29 21:29
- Excel(エクセル) excel2013 色付きセルの値合計 3 2023/02/28 11:48
- 英語 Whatever the total, 15 English is more widely scat 2 2022/12/10 09:36
- C言語・C++・C# Project Euler #6 Sum square difference 至急教えてください。 1 2022/09/17 16:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
組み合わせを作るアルゴリズム
-
データベースから取得したデー...
-
プログラミングについて。 1つ...
-
画面を強制的に再描画させる方法
-
VBのReturnの使い方
-
DoEventsが必要な理由について
-
クラスに配列を渡す方法
-
pythonでファイルのコメント行...
-
DOSコマンドのループ内のTIMEコ...
-
For文を使った九九表の作成
-
VBAで3秒だけ時間を止めたい
-
英語でのシャープとコメの呼び...
-
vbscriptでIE自動入力(途中で...
-
ループ内での条件処理
-
CSVファイルの特定の行だけを読...
-
GIFアニメをループさせたくない
-
VBA横データを縦にしたいです
-
vb.netからエクセル関数書き込み
-
VBScript 配列
-
エクセル関数で1〜12の数字がル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データベースから取得したデー...
-
perlで2つの配列を比較する方...
-
DBIを使ってのデータの取り出し...
-
python質問
-
perlでファイルの拡張子を除い...
-
アルファベットn文字の組み合わ...
-
grep関数を用いた複数行からの抽出
-
乱数と順列と組み合わせ
-
半角文字の縦書き表示
-
配列やハッシュで中身が同じか...
-
ループ中でのmy宣言と処理速度
-
桁数指定と四捨五入
-
画面を強制的に再描画させる方法
-
VBAで3秒だけ時間を止めたい
-
VBAでの一時停止と再開の方法
-
VBのReturnの使い方
-
どなたかこのプログラミングを...
-
Escキーを押すと、中断する時と...
-
UWSCの終了の仕方
-
エクセルの当番表を作っていま...
おすすめ情報