ich this question mit metaprogramming, aber die Scoping-Regeln für Schleifen beantworten will verursachen meine Variablen nicht in dem oberen meist (REPL) Umfang definiert werden:Deklarieren von Top-Level-Variablen in Julia mit metaprogramming
for x = [:A1, :A2]
@eval x = rand(2,2)
end
Ich weiß, dass es wahrscheinlich einen einfachen Weg gibt, aber mein Freitag Nacht Gehirn kann nicht an einen denken. Kann einer von euch metaprogrammierenden Junkies mir helfen, eine prägnante Lösung zu finden? (Ich weiß, ein Makro mit Flucht funktionieren könnte, aber ich versuche, an etwas zu denken kürzer)
Ich sah das auch und fragte mich, wie Sie es metaprogram würden, wenn Sie hundert A hatten. 'für x = 1: 100' und was dann? Wie können Variablennamen programmgesteuert erstellt werden? – rickhg12hs
Beantwortete meinen eigenen Kommentar/Frage. 'für k = 1: 10 my_sym = symbol (" A "* string (k)); @eval $ my_sym = rand (2,2) end' (Hier wird A1 bis A10 generiert.) – rickhg12hs