Zuweisen von Werten zu einer Liste von Variablennamen

  • Im Rahmen einer Berechnung muss ich Folgendes tun:

     Evaluate[{aaa, bbb, ccc}[[ index]]] = {1, 2, 3, 4, 5}
     

    Wenn der Index also 1 ist, wird {1, 2, 3, 4, 5} in der Variablen aaa gespeichert.
    Aber wenn ich das neu bewerte, funktioniert es nicht, da aaa jetzt eine Liste ist und keine Variable. Ich habe verschiedene Optionen mit Hold[] usw. ausprobiert, aber das Problem wurde nicht gelöst.

    07 June 2012
    Mr.Wizard
2 answers
  • Bewahren Sie Daten außerhalb der Variablennamen auf

    Verwenden Sie die funktionale Programmierung. Wenn Sie aaa verwenden, ist dies ein Argument für eine Funktion. Wenn Sie etwas anderes übergeben möchten, rufen Sie die Funktion auf.

    Wenn Sie dies wirklich tun möchten, verwenden Sie eines der HoldAll - ähnlichen Attribute hier .

    03 April 2012
    ninjagecko
  • Ich würde es nicht empfehlen, aber Sie könnten so etwas wie

     varlist = "var1,var2,var3";
    index   = 2;
    ToExpression[StringSplit[varlist, ","][[index]] ~~ "={1, 2, 3, 4, 5}"];
    var2
    (* -> {1, 2, 3, 4, 5} *)
     
    tun
    03 April 2012
    Dr. belisarius