Code: Select all
{
:local Map do={
:local list $1;
:local out [:toarray ""];
:if ([:typeof $list]!="array") do={
:set list ([:toarray ""],$list); ## In case input is a single item (non-array)
};
:do {
:foreach k,v in=$list do={
:set out ($out,[$2 $k $v]);
};
} on-error={
:log error "Map(array,func) failed to execute func for array";
};
:return $out;
};
:local func do={
:return $2;
};
:local citystateassoc {"Houston"="Texas";"Denver"="Colorado";"Washington"="D.C.";"Las Vegas"="Nevada";"Portland"="Maine";"Dallas"="Texas"};
:local states [$Map $citystateassoc $func];
:put "STATES (in no particular order, may be duplicates):"
:put $states;
}
Code: Select all
:local citystateassoc {"Houston"="Texas";"Denver"="Colorado";"Washington"="D.C.";"Las Vegas"="Nevada";"Portland"="Maine";"Dallas"="Texas"};
:local states [$Map $citystateassoc [:func do={:return $2;}]];
:put "STATES (in no particular order, may be duplicates):"
:put $states;
How about it?