Angenommen, ich möchte ein mehrdimensionales Array erstellen, dessen Dimensionen/Größe pro Dimension in einem Array angegeben sind. Ich möchte so etwas tun:Julia: Aufruf von Array() mit einem Array von Dimensionen
dims = [2,5,6] # random example, the idea is I don't know dims ahead of time
arr = Array(Float64, dims)
Das ist nicht erlaubt. Im obigen Fall sollte man verwenden:
arr = Array(Float64, dims[1], dims[2], dims[3])
Ich weiß nicht, die Länge der dims vor der Zeit, so dass die obige Lösung nicht für mich arbeiten. Gibt es eine saubere Workaround außerhalb der Verwendung von einigen fiesen Sprintfs und eval?
Danke!
Sie verwenden normalerweise nicht Sprintf mit Eval in Julia. Es gibt viel bessere Möglichkeiten für die Metaprogrammierung. – ivarne