by Tastronomium » 13 Jun 2020, 03:59
Hallo Bobo und aifritz,
ich habe jetzt selbst eine Lösung gefunden, sowohl durch Zuweisung als auch mit InsertAs.
So kann man problemlos aus einem ein- ein zweidimensionales Array erzeugen.
Während die Zuweisung mit
:= überschreibt, werden durch
InsertAt die nachfolgenden Werte nach hinten geschoben.
Schwierig finde ich, dass man dann für die Ausgabe der Werte erst irgendwie prüfen muß, ob da eine zweite Dimension da ist. Denn A[2, 1] funktioniert nur, wenn die Zeile 2 mehr als einen Wert hat, also aus einem SubArray besteht. - Ich hoffe, ich habe das jetzt richtig dargelegt, verbessert mich gern.
Um die Syntax für die Wert- Ausgabe einheitlich halten zu können, werde ich versuchen, überall leere Werte "" einzufügen, die dann überschrieben werden können.
Code: Select all
A := []
B := []
A := [1, 2, 3]
msgbox % A[1] "`n" A[2] "`n" A[3]
B := [5, 6, 7]
msgbox % B[1] "`n" B[2] "`n" B[3]
A.InsertAt(1, B)
msgbox % A[1, 1] " " A[1, 2] " " A[1, 3] "`n`n" A[2] " " A[3] " " A[4]
A[1] := [8, 9]
A[2] := B
msgbox % A[1, 1] " " A[1, 2] " " A[1, 3] "`n`n" A[2, 1] " " A[2, 2] " " A[2, 3] "`n`n" A[3]
C := ["x", "y"]
A.InsertAt(1, C)
msgbox % A[1, 1] " " A[1, 2] "`n`n" A[2, 1] " " A[2, 2] " " A[2, 3] "`n`n" A[3, 1] " " A[3, 2] " " A[3, 3]"`n`n" A[4]
exit
Viele Grüße und Danke für Eure Hilfe
Tastronomium
Hallo Bobo und aifritz,
ich habe jetzt selbst eine Lösung gefunden, sowohl durch Zuweisung als auch mit InsertAs.
So kann man problemlos aus einem ein- ein zweidimensionales Array erzeugen.
Während die Zuweisung mit[b] :=[/b] überschreibt, werden durch [b]InsertAt[/b] die nachfolgenden Werte nach hinten geschoben.
Schwierig finde ich, dass man dann für die Ausgabe der Werte erst irgendwie prüfen muß, ob da eine zweite Dimension da ist. Denn A[2, 1] funktioniert nur, wenn die Zeile 2 mehr als einen Wert hat, also aus einem SubArray besteht. - Ich hoffe, ich habe das jetzt richtig dargelegt, verbessert mich gern.
Um die Syntax für die Wert- Ausgabe einheitlich halten zu können, werde ich versuchen, überall leere Werte "" einzufügen, die dann überschrieben werden können.
[Codebox=autohotkey file=Untitled.ahk]A := []
B := []
A := [1, 2, 3]
msgbox % A[1] "`n" A[2] "`n" A[3]
B := [5, 6, 7]
msgbox % B[1] "`n" B[2] "`n" B[3]
A.InsertAt(1, B)
msgbox % A[1, 1] " " A[1, 2] " " A[1, 3] "`n`n" A[2] " " A[3] " " A[4]
A[1] := [8, 9]
A[2] := B
msgbox % A[1, 1] " " A[1, 2] " " A[1, 3] "`n`n" A[2, 1] " " A[2, 2] " " A[2, 3] "`n`n" A[3]
C := ["x", "y"]
A.InsertAt(1, C)
msgbox % A[1, 1] " " A[1, 2] "`n`n" A[2, 1] " " A[2, 2] " " A[2, 3] "`n`n" A[3, 1] " " A[3, 2] " " A[3, 3]"`n`n" A[4]
exit[/Codebox]
Viele Grüße und Danke für Eure Hilfe
Tastronomium