2016-03-27 4 views
-1

Ich importiere eine TXT-Datei, um Teile meines Programms zu verwenden. Ein bestimmter Teil muss boolesche Variablen manipulieren. Allerdings benutze ich loadStrings(), um den Text in Strings zu interpretieren, wobei die einzelnen Zeilen linien [] heißen. Ich habe den Namen einer Variablen als String und muss auf die Variable selbst verweisen. Leider konnte ich nicht herausfinden, wie das geht.Verarbeitung: Variablen nach String-Namen manipulieren

boolean choice1 = false; 

// lines[counter+2] is "choice1" 
if (lines[counter+2] = false) { 
    println("statement is false"); 
    counter += 4; 
    } 

Offensichtlich ist die obige Aussage nicht funktioniert, noch tut:

if (boolean(lines[counter+2]) = false) { 

wie es Fehler. Auch ,

if (boolean(lines[counter+2]) == false) { 

ist nicht eine mögliche Lösung wie jedes Wort anders als „true“, wenn sie in boolean verwendet() falsch ist, so dass die oben gibt ein falsch positives (verzeihen Sie das Wortspiel).

Wenn es eine Lösung für das gleiche Problem in Java-Codierung gibt, würde ich mich freuen, das auch zu sehen.

P.S. Wenn Sie eine Lösung haben, gibt es eine Möglichkeit, die Variable nicht nur anhand ihres Namens zu referenzieren, sondern sie auch zu ändern? Zum Beispiel:

boolean(lines[counter+2]) = false; 

oder

lines[counter+2] = false; 

offensichtlich, die oben sind falsch, aber diese Idee.

Antwort

0

Sie können das nicht tun.

Sie konnten HashMap von String Werte Boolean Werte verwenden, wenn:

HashMap<String, Boolean> variableMap = new HashMap<String, Boolean>(); 
variableMap.put("myVariable", true); //set the value 
boolean check = variableMap.get("myVariable"); //get the value 
println(check); 
variableMap.put("myVariable", false); //change the value 
boolean checkAgain = variableMap.get("myVariable"); //get the new value 
println(checkAgain); 

Mehr Informationen in the Processing reference zu finden sind.