Im folgenden Beispiel möchte ich eine Funktion schreiben, die beginnend mit $
die Strings durch den tatsächlichen Inhalt dieser Variablen ersetzt. Berücksichtigen Sie dabei wird die Funktion analysieren alle mathing $somevar
so, nehmen Sie sie nicht literarisch wird nur param1
und param2
Wie kann man auf eine Variable in einem String zugreifen?
Dim myCmd, param1, param2
Const MY_CONST = "constValue"
param1 = "myParameter1"
param2 = "myParameter2"
myCmd = "myprogram.exe $param1 $param2 $MY_CONST"
myCmd = addParams(myCmd)
Function addParams(cmdStr)
' this function should replace all "$variables" by its respective content
' Example: "myprogram.exe myParameter1 myParameter2 constValue"
End Function
Das einzige Problem, das ich mit diesem Ansatz haben, ist die Verwendung von global Variablen scoped, wenn Sie eine Funktion für diese bauen gehen sollte es in sich geschlossen sein. Könnten Sie die Parameter nicht als 'Array()' übergeben? Etwas wie 'Call ev (cmd, Array (param1, param2))', auf diese Weise wäre die 'RegExp' redundant und das Ergebnis basiert auf dem, was im Array übergeben wird. – Lankymart
In der Tat müssen Variablen in diesem Ansatz global sein. Ihr Vorschlag ist besser, wenn Sie mit komplexeren Skripten arbeiten. – Azevedo