I make
‚s eval
Funktion nutzen möchten mehrere definieren (dynamisch genannt) Variablen innerhalb einer foreach
, aber ich kann nicht eval
bekommen diesen Job zu machen.machen - mehrere Variablen in der gleichen eval Aufruf definieren
Ich habe versucht, so etwas wie dieses:
$(eval \
var1 = val1 \
var2 = val2 \
)
Es funktioniert nicht: var1
als val1 var2 = val2
definiert wird und var2
ist nicht definiert. Es macht Sinn, denn ich setze \
am Ende der zweiten Zeile. Aber wenn ich es entferne, wird der eval
Anruf nie beendet.
Ich versuchte verschiedene Dinge zu haben \
nur von eval
gesehen, aber nichts hat den Trick. Daher die Frage: ist es möglich, mehrere Variablen im selben eval
Aufruf zu definieren?
Natürlich könnte ich eval
zweimal anrufen ... es ist eher Neugier.
Ich glaube nicht, dass es möglich ist, weil Sie auf eine allgemeinere Weise nicht zwei Variablen in derselben Zeile deklarieren können. Es muss aufgrund der Art, wie parse die Variablendeklaration ist. Wie auch immer, Sie können mehrere Eval-Funktionen in eine definierte Funktion einfügen und nur diese Funktion aufrufen, so dass nur eine Zeile beim Aufruf benötigt wird. – Tim
@TimF Ich denke du hast Recht. Aber da 'eval' verwendet werden kann, um das Ergebnis von' call' zu analysieren, was mehrzeilig ist, erwartete ich, dass ich in der Lage bin, eine "mehrzeilige literale Zeichenfolge" zu schreiben. – lephe
Ich habe mehrere Lösungen ausprobiert und endlich eine Antwort gefunden, siehe unten;) – Tim