• 締切済み

変数名に変数を使用

$AAAという変数の後にforで変化する変数$iをつけたいのですが、 (FILE1,FILE2…と変化するように) どのようにすればいいのでしょうか? $AAAと$iを.で結んだりダブルクォーテーションで囲んでみたりしたのですがダメでした。

  • Perl
  • 回答数5
  • ありがとう数9

みんなの回答

  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.5

#以下のようにしては如何でしょうか for ($i = 1; $i <= 10; $i++){ $j = $i + 10; $string = '$FILE' . "$i" . '=' . "$j;"; # print ("$string\n"); eval($string); } print ("$FILE1\n"); print ("$FILE2\n"); print ("$FILE3\n"); print ("$FILE4\n"); print ("$FILE5\n"); print ("$FILE6\n"); print ("$FILE7\n"); print ("$FILE8\n"); print ("$FILE9\n");

  • damejan
  • ベストアンサー率30% (58/192)
回答No.4

プログラム中で動的に変数を生成したいということなのでしょうか? あえて、独立した変数を生成する意図が分かりませんが、大抵の用途では、以下のように配列を使うことで済むのではないでしょうか。 #!/usr/bin/perl $MAX_NUM = 10; @FILE = (); for($i=0; $i<$MAX_NUM; $i++){ push(@FILE, "AAA$i"); } for($i=0; $i<$MAX_NUM; $i++){ print("@FILE[$i]\n"); }

  • 3rd
  • ベストアンサー率30% (7/23)
回答No.3

これが誉められたものなのかどうかは別として、 こんな感じのことが行いたいのでしょうか? 当方の環境では、動きました。 #!/usr/bin/perl $name = "file"; for ($i=1 ; $i<6 ;$i++){ ${"$name$i"} = "AAA$i"; } print "\$file1 = $file1\n"; print "\$file2 = $file2\n"; print "\$file3 = $file3\n"; print "\$file4 = $file4\n"; print "\$file5 = $file5\n"; exit;

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.2

$AAA = "FILE" ; for ($i=1 ; $i<10 ;$i++){   $BBB = $AAA+$i ; } で$BBBがFILE1,FILE2…と変化すると思います。 当方にPerlが動作する環境が無くデバッグ出来ません。 ご確認下さい。

  • damejan
  • ベストアンサー率30% (58/192)
回答No.1

質問の意図がよく分かりません。 ちなみに、変数名に変数の使用はできません(この質問のタイトルの意味が分からないのですが・・・)。

KODAMAR
質問者

お礼

回答ありがとうございます。 例えばFILE1・FILE2…FILE10までの値があったとします。 for($i=1;$i<10;$i++){ $FILE$i = "AAA$i"; } 【結果】 FILE1 = AAA1 FILE2 = AAA2    : FILE10 = AAA10 のようにしたいのです。

関連するQ&A

  • 変数名に変数を使用

    for文を使って,double型の変数test1,test2,test3…をN個生成したいのですが,どのようにすればいいのでしょうか?

  • ASPで、変数名に、変数を入れられますか

    ASPで、変数名に、変数を入れられますか 教えてください だめな場合 別の方法をお願いします。 For i = 1 To 10 Step 1 ("rc_" & i)= i Next

  • 変数名をプログラムで変える

    変数名$keyにある数字を一文字ずつ$w1、$w2・・・に入れていきたいと考えています。 if (isset($key)){ for($i=1;$i<strlen($key);$i++){ $w[$i]=substr($key,$i-1,1); } 変数w1、w2をfor文の中で変化させていきたいのですが、どのようにすればいいのでしょうか。 上記の$w[$i]ではだめでした。(配列になっちゃうのかな) 例えば$key=5432の場合、 $w1=5; $w2=4; $w3=3; $w4=2; としたいのです。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • 変数を動的に利用するには?

    Javaプログラミングの質問です。 下記のように変数を定義しておき、 String aaa_0 = "AAA1"; String aaa_1 = "AAA2"; 例えば、これらの変数の値を次のようにして使えますでしょうか? (できませんが、やりたいことは、なんとなく伝わったかと思います。) for(int i=0;i<2;i++){ System.out.println("aaa_" + i); } 変数を動的に呼び出せますでしょうか? アドバイスお願い致します。

  • 変数名の有効範囲…

    こんにちは 変数名は同じディレクトリのファイルであれば有効ですか? 例えば、aaa.htmlというファイルの中で定義した変数名を、bbb.htmlというファイルで使うことはできますか?

  • 変数とダブルクォーテーションの関係について

    $cookie1["$i"] = $col["$field["$i"]"]; 変数とダブルクォーテーションの記載方法ですが、 このソースで正常に動作させるには、”をどの様に記載すれば良いのでしょうか。 どうぞ宜しくお願い致します。

    • ベストアンサー
    • PHP
  • 変数名

    以下のような変数があります。 test01 test02 test03 . . . 01の数字部分を↓のような感じにはできないのでしょうか? for(i = 0; i < 10; i++){ if(test + i == 0){} }

    • ベストアンサー
    • Java
  • VBAにおいて、""内で変数を使用したい

    VBAにおいて、""内で変数を使用したい 0864_001.xls 0864_002.xls … 0864_009.xls というファイルがあるとき、0864_001.xlsを開く→処理→閉じる→0864_002.xlsを開く→… というように処理をしたいと思い、以下のようなマクロを作成しました。 Sub Test() Dim i As Integer For i = 1 To 9 Workbooks.Open ThisWorkbook.Path & "\0864_00i.xls" 処理 閉じる Next i End Sub 実行しようとしてもファイルを開くことが出来ずに困っています。 ""内で変数を使うことは出来ないのでしょうか? また、どのようにすれば実行できるようになるのか教えてください。

  • phpの変数に01と格納したい。

    PHPの変数に01と代入し、echoで表示させると1になってしまうのですが、01をダブルクオーテーションでくくらないで、01と表示させる方法はありますか?

    • 締切済み
    • PHP
  • ダブルコーテーションやシングルコーテーション

    私の持っている参考書の中に、次のように、 変数をダブルコーテーション、シングルコーテーション、およびピリオドで囲んでいるSQL文があるのですが、 この場合、なぜ、ダブルコーテーション、またはシングルコーテーションのみでは駄目なのでしょうか? [参考書の記載] where カラム名>="'.変数.'" ※変数は日付が入ります。varchar型です。

    • ベストアンサー
    • MySQL

専門家に質問してみよう