• 締切済み

配列の記述

配列@arrayの中からある特定の順番の配列を取得したいです。 $array[1]の1について$nなどの変数を使いたいのですが、 []の中に変数をどう記述すればいいのでしょうか? $n=100; print "$array["."$n"."]"; print '$'."array["."$n"."]"; ???わからない???

みんなの回答

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.3

> $n=100; > print "$array["."$n"."]"; > print '$'."array["."$n"."]"; どういった出力が欲しくてこのように悪戦苦闘されているのでしょうか? $array[100] の内容が "Hi!" だったとして、 print "$array[$n]\n"; # → Hi!改行 #でも多分 print $array[$n], "\n"; にしたほうがよい print "\$array[$n]\n" ; # → $array[100]改行 # printf "$array[%d]\n", $n; ところでダブルクォート(もしくはqq演算子を使用した文字列)の中にある変数がその内容に変換されることを interpolationとかいいますが、 $x = 100; print "$x"; のようなときは、$xをダブルクォートでくくる必要はありません。 配列変数のときはむしろ害になります。 どこから始まった流儀なのか知りませんが、とにかくダブルクォートで くくっておけばいいというのを見かけますが、使いどころは考えたほうがよいです。 あまり複雑な書式になるのなら、printf/sprintfを使うのも一つの手段です。

  • osamuy
  • ベストアンサー率42% (1231/2878)
回答No.2

print '$array[', $n, ']=', $array[ $n ]; Perlは文字列式内の変数を展開してくれますが、具体的にどのように展開されるか不明な時は、明示的に式を分けて書くほうが、間違える可能性を押さえる事ができます。

  • calltella
  • ベストアンサー率49% (317/635)
回答No.1

$n=100; print $array[$n]; ↑$array[100]のデータが表示されます。

関連するQ&A