2-D Array syntax error/nesting problem

  • Hi,
    ich hätte gerne folgende Struktur, bin aber scheinbar nicht clever genug dafür:


    Code
    Local $aArray[100][4] = [ _
    	["HKLM64\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU", "NoAutoUpdate", 1, 0], _
    	["HKLM64\SOFTWARE\Microsoft\WindowsUpdate\UX\Settings", "UxOption", 1, 0], _
    	[["HKLM\SYSTEM\ControlSet001\Services\PcaSvc", "HKLM\SYSTEM\CurrentControlSet\Services\PcaSvc"], ["Start", "Start"], [4, 4], [3, 3]], _
    	["HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System", "VerboseStatus", 1, 0] _
    ]

    Zeile 4 ist ausschlaggebend. Jede Zeile stellt eine "Option" dar und manche Optionen benötige 2 Tweaks, wie z.B. Zeile 4. So gesehen brauche ich ein Array in einem Array, aber statt diese Arrays zu definieren, möchte ich das direkt im $aArray definieren. Die Struktur müsste also genau so sein wie oben beschrieben, das ist wichtig, weil ich das Array später mit einer loop durchlaufe.

    Möglich?

    • Offizieller Beitrag

    Array erzeugen nur durch die Klammern ist nicht möglich.
    Du musst diesen Weg wählen:

    AutoIt
    Local $aIn1['a','b']
    Local $aIn2['c','d']
    Local $aIn3['e','f']
    Local $aIn4['g','h']
    
    
    Local $a[][4] = [ _
    [1,2,3,4], _
    [1,2,3,4], _
    [$aIn1,$aIn2,$aIn3,$aIn4]]


    Wenn du mehrere dieser Einträge erstellen musst, ist es sinnvoll dazu eine Funktion zu verwenden:

    AutoIt
    Local $a[][4] = [ _
    [1,2,3,4], _
    [1,2,3,4], _
    [_Array('a','b'),_Array('c','d'),_Array('e','f'),_Array('g','h')]]
    
    
    Func _Array($_a, $_b)
    	Local $a[] = [$_a, $_b]
    	Return $a
    EndFunc
    • Offizieller Beitrag

    Hier mal noch zwei flexiblere Funktionen zum Erstellen von 1D / 2D-Arrays: