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ランキング
-
データベースから取得したデー...
-
grep関数を用いた複数行からの抽出
-
配列に入った変数を二度使いたい
-
正規表現 perl 連続ヒットの...
-
画面を強制的に再描画させる方法
-
ハッシュ検索はなぜ速い
-
VBのReturnの使い方
-
ハッシュのハッシュを実現したい。
-
リストボックスに縦スクロール...
-
乱数の桁数指定、または範囲指定。
-
Can't use string ("0") as an ...
-
GIFアニメをループさせたくない
-
文字列を変数名として扱う方法
-
アクティブセルから、A列最終行...
-
VB6の公式リファレンスはありま...
-
まったく同じファイルのハッシ...
-
エクセルの当番表を作っていま...
-
ループフリー
-
イベントの発生を待つ
-
Javaでゲーム
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データベースから取得したデー...
-
perlで2つの配列を比較する方...
-
DBIを使ってのデータの取り出し...
-
python質問
-
perlでファイルの拡張子を除い...
-
grep関数を用いた複数行からの抽出
-
アルファベットn文字の組み合わ...
-
半角文字の縦書き表示
-
乱数と順列と組み合わせ
-
配列やハッシュで中身が同じか...
-
桁数指定と四捨五入
-
ループ中でのmy宣言と処理速度
-
画面を強制的に再描画させる方法
-
VBAで3秒だけ時間を止めたい
-
VBAでの一時停止と再開の方法
-
VBのReturnの使い方
-
どなたかこのプログラミングを...
-
Escキーを押すと、中断する時と...
-
UWSCの終了の仕方
-
エクセルの当番表を作っていま...
おすすめ情報