Perl
#!/usr/bin/perl #配列 = (購入する物の名前、値段、購入数) @A = ("Apple", 50, 8); @O = ("Orange", 30, 10); @B = ("Banana", 20, 12); @G = ("Grape", 100, 5); @max = @A; foreach @a (@O, @B, @G) { if($max[1]*$max[2] < $a[1]*$a[2]){ @max = @a; } } $price = $max[1] * $max[2] print "名前: $max[0] 代金:$price"
上のプログラムは代金が一番高いものを見つけるプログラムをPerlで書いたつもりです。
しかし、@maxに@G(代金が一番高い)が代入できていません。
どうしてでしょうか?
foreachの@aは配列にとって変わることは出来ない仕様なのでしょうか?
まだ回答がついていません
会員登録して回答してみよう