Variablen Namen über Funktion ändern?

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Variablen Namen über Funktion ändern?

    Hallo Alle zusammen,

    ich möchte gerne einen Variablen Namen - also nicht den Wert einer Variablen ändern, sondern wirklich den Namen dieser ändern.
    Ich habe hier ein kurzes Codebeispiel, an dem vielleicht deutlicher wird, was gemeint ist.

    Quellcode

    1. func Test (Name: String) {
    2. VariablenName = Name
    3. Class = Klasse ()
    4. print (Class.VariablenName)
    5. }


    Der Code funktioniert logischer Weise nicht (er findet logischerweise VariablenName nicht in der Klasse() ). Ich hoffe allerdings es wird deutlich, was hier versucht wird.
    Ich möchte über eine festgelegte Eingabe eine bestimmte Variable in der Klasse() abrufen, möchte das aber nicht einzeln und händisch eintragen.

    Sprich, so nicht:

    Quellcode

    1. func Test () {
    2. Class = Klasse ()
    3. print (Class.Mustermann)
    4. }

    Bräuchte mal einen Tipp, wonach ich da suchen bzw. recherchieren muss.
    Vielleicht weiß auch jemand wie es geht oder gehen könnte.

    Danke auf jeden fall.

    Krusel
  • @Michael: Hallo Michael, über einen Button soll ein fixer Wert in einer Variablen gespeichert werden (z.B. Mustermann).
    Zum Beispiel var Name = "Mustermann"
    In einer Klasse namens Klasse (), existieren Variablen/ Arrays u.A. . namens Mustermann, Meier, Müller etc.

    Jetzt will ich eine Funktion schreiben, die mir Klasse.Mustermann ausgibt oder auch Klasse.Meier usw.
    Da ich nicht für tausende Namen jeweils eine Methode schreiben möchte, möchte ich eigentlich eine Methode, die den Variablennamen (Also nach var "Name") variiert. Wird das klarer?

    @Thallius: Ich werde mal recherchieren.
  • Krusel schrieb:

    Jetzt will ich eine Funktion schreiben, die mir Klasse.Mustermann ausgibt oder auch Klasse.Meier usw.
    Du kannst Swift-Funktionen auch als Parameter- bzw. Varaiblenwerte verwenden, z. B.:

    Quellcode

    1. func Test(f: () -> String) {
    2. print(f)
    3. }
    4. Test(person.getName)
    Warum willst du denn in der Methode unterschiedliche Methoden aufrufen?
    „Meine Komplikation hatte eine Komplikation.“
  • Das klingt so, als käme der TE von PHP, wo man variable Variablennamen haben kann. Also mit

    Quellcode

    1. $foo = "bar"
    2. $$foo = "fnord"
    erzeugt man eine Variable namens $bar mit dem Wert "fnord". Damit kann man durchaus lustige Sachen machen, aber die Verwendung von Collections (die es natürlich auch in PHP gibt) ist dann doch die sauberere Lösung.
  • nilshott schrieb:

    Das klingt so, als käme der TE von PHP, wo man variable Variablennamen haben kann.
    Für mich klang das eher so, als ob der TE gerade seine ersten Schritte in Programmieren macht bzw. so kam es für mich rüber.

    Ich habe zwar schon etwas PHP programmiert, aber genau genommen nur vorhandenes ergänzt oder kopiert. Das fand ich an PHP gut, dass man sich gleich auskennt und etwas ein wenig erweitern/umschreiben kein großes Problem ist.

    Das, mit den variablen Variablennamen, würde ich als Duck Typing bezeichnen.
  • Verstehe, dass mit den variablen Variablennamen ist etwas anders gemeint. Da gehts gar ned um vorhanden sein oder nicht

    PHP-Quellcode

    1. // Quelle: http://php.net/manual/en/language.variables.variable.php
    2. <?php
    3. //You can even add more Dollar Signs
    4. $Bar = "a";
    5. $Foo = "Bar";
    6. $World = "Foo";
    7. $Hello = "World";
    8. $a = "Hello";
    9. $a; //Returns Hello
    10. $$a; //Returns World
    11. $$$a; //Returns Foo
    12. $$$$a; //Returns Bar
    13. $$$$$a; //Returns a
    14. $$$$$$a; //Returns Hello
    15. $$$$$$$a; //Returns World
    16. //... and so on ...//
    17. ?>
    Alles anzeigen