Applying loop functions with input list of iterators
You need to use SlotSequence (##) in place of Slot (#).
#
refers to the first element (in your case to {a, 0, 4}
) in a sequence of slots.
Table[iterator[[All, 1]], ##] & @@ iterator
{{{0, 0}, {0, 1}, {0, 2}, {0, 3}, {0, 4}, {0, 5}},
{{1, 0}, {1, 1}, {1, 2}, {1, 3}, {1, 4}, {1, 5}},
{{2, 0}, {2, 1}, {2, 2}, {2, 3}, {2, 4}, {2, 5}},
{{3, 0}, {3, 1}, {3, 2}, {3, 3}, {3, 4}, {3, 5}},
{{4, 0}, {4, 1}, {4, 2}, {4, 3}, {4, 4}, {4, 5}}}
Less flexibly, you could also use
Table[iterator[[All, 1]], #, #2] & @@ iterator
same result
In case you think you need an explicit iterator
, let me show how it can be done without one
Outer[List, Range[0, 4], Range[0, 5]]
...or
Table[{a, b}, {a, 0, 4}, {b, 0, 5}];
...or
Table[{a, b}, Evaluate[iterator[[1]]], Evaluate[iterator[[2]]]]