joergen: Variablen-Namen aus String auslesen

Ich möchte den Inhalt einer Variablen als Variablennamen nutzen, und dieser dann einen Wert zuweisen.

Mal ein Beispiel.

var ziffer2 = 2;
var ziffer5 = 6;

var varname = "ziffer0";

Ich muß jetzt "ziffer5" auf 8 setzen. Also schaffe ich es mit ein bißchen Stringmanipulation (aus dem Übergabewert der Funktion), daß

varname = "ziffer5";

zugewiesen wird.

Wie kann ich jetzt mit einer Zuweisung, in der ich nur die Variable "varname" nutze, den Inhalt von "ziffer5" ändern?

Merci,

Joergen.

  1. Wie kann ich jetzt mit einer Zuweisung, in der ich nur die Variable "varname" nutze, den Inhalt von "ziffer5" ändern?

    Lies Dir mal <../../tecm.htm#a2> durch - "eval" müßte das sein, was Du haben willst.

    1. Lies Dir mal <../../tecm.htm#a2> durch - "eval" müßte das sein, was Du haben willst.

      Damit wird das nix. Dann müßte ich ja, um die Variable, die in der Variablen "varname" steht mit einem Wert zu belegen, folgendes schreiben:

      eval(varname) = 5;

      Und das geht mit Sicherheit nicht!

      Gruß,
      Joergen.

      1. Hi!

        eval(varname) = 5;

        Und das geht mit Sicherheit nicht!

        Nein, das geht wirklich nicht, denn das waere dasselbe wie wenn Du schreibst
            "ziffer5" = 5;

        Richtig waere
            eval(varname + " = 5");
        Das ist praktisch so wie wenn Du schreibst
            ziffer5 = 5;

        Hast Du uebrigens schon mal darueber nachgedacht, ob Du Dein Problem nicht mit einem Array auch/besser loesen kannst?

        Bye, Calocybe

  2. Hi
    Meiner Meinung nach geht das ueberhaupt nicht.
    Du kannst immer nur die Variable veraendern der du gerade einen Wert zuweist.
    Ich denke, dass es sehr worteilhaft waere wenn du dein Problem noch mal genau beschreibst.
    Also: warum kannst du nicht den Variablen ziffer2, bzw ziffer5 direkt Werte zuweisen?

    Holger