#version 3.8; global_settings {assumed_gamma 1} #include "foreach.inc" #declare A = array { "Aa", "Ab", "Ac", "Ad", "Ae", "Af", "Ag", "Ah", "Ai", "Aj", "Ak", "Al", "Am", "An", "Ao", "Ap", "Aq", "Ar", "As", "At", "Au", "Av", "Aw", "Ax", "Ay", "Az" }; #macro mkKey(i_,j_,elem_,arg_) #local arg_[elem_] = i_ * j_; #end #declare D = dictionary { .Macro: "mkKey", .Walk: 1, .Extra: on, .Arg: "R" }; #declare R = dictionary {.dummy: 0}; Foreach(A,D) #debug concat("Az = ",str(R.Az,0,0),".\n") #macro extend_(i_,elem_) #declare A[i_] = concat("A",elem_); #end Foreach(A, dictionary {.Macro: "extend_"}) #debug concat("A[0] = '",A[0],"'.\n") Foreach(A,D) #debug concat("AAz = ",str(R.AAz,0,0),".\n") Foreach(A, dictionary {.Macro: "extend_"}) #debug concat("A[0] = '",A[0],"'.\n") Foreach(A,D) #debug concat("AAAz = ",str(R.AAAz,0,0),".\n")