- 締切済み
配列の記述
配列@arrayの中からある特定の順番の配列を取得したいです。 $array[1]の1について$nなどの変数を使いたいのですが、 []の中に変数をどう記述すればいいのでしょうか? $n=100; print "$array["."$n"."]"; print '$'."array["."$n"."]"; ???わからない???
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- 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を使うのも一つの手段です。