Iterating on Subsets of sets of predefined values

For example: A Constant List say SET has 1,2,3,4,5 as predefined values
Each entry 1 - 5 has a subset

1 subset is 1001,1002,1003,1004
2 subset is 2001,2002,2003,2004 and so on.

I would love to ilterate through each set of subset. For Example Print the values of the Main Set 1 and ilterate through it’s subset before moving on to printing the values of set 2 and so on till the end.

Thanks in Advance for your assistance. I have aready looked at Ilterating on list and sorry, I didn’t really understand how to impliment it to this my case.

I really need this. Thanks

I didn’t really understand, can you provide some sample code that generates your list? Or screenshot the variables section of the debugger.

Hello Ruri, it’s such an Honor, thanks for your reply.
Actually, I am creating a config which post ads to a classified site, and I want an ad posted in every country, of every continent, I have already done that part. I am currently

Hocked up where the code is to ilterate through each country in each continent. Here is a sample. Hopefully, i am clearer

BLOCK:ConstantList
LABEL:Continents List
  value = ["North-America", "South-America", "Europe", "Africa", "Asia", "Australia", "Antarctica"]
  => VAR @continents
ENDBLOCK

BLOCK:ConstantList
LABEL:North American Countries
  value = ["United States", "Mexico", "Canada", "Guatemala", "Haiti", "Cuba", "Dominican Republic", "Honduras", "Nicaragua", "El Salvador", "Costa Rica", "Panama", "Jamaica", "Puerto Rico"]
  => VAR @NorthAmerica
ENDBLOCK

BLOCK:ConstantList
LABEL:South America Countries
  value = ["Brazil", "Colombia", "Argentina", "Peru", "Venezuela", "Chile", "Ecuador", "Bolivia", "Paraguay", "Uruguay", "Guyana", "Suriname", "French Guiana", "Falkland Islands"]
  => VAR @SouthAmerica
ENDBLOCK

BLOCK:ConstantList
LABEL:European Countries
  value = ["Russia", "Germany", "United Kingdom", "France", "Italy", "Spain", "Ukraine", "Poland", "Romania", "Netherlands", "Belgium", "Czechia", "Greece", "Portugal", "European ETC"]
  => VAR @Europe
ENDBLOCK

BLOCK:ConstantList
LABEL:African Countries
  value = ["Nigeria", "Ethiopia", "Egypt", "The Democratic Republic of the Congo", "Tanzania", "South Africa", "Kenya", "African ETC"]
  => VAR @Africa
ENDBLOCK

BLOCK:ConstantList
LABEL:Asian Countries
  value = ["China", "India", "Indonesia", "Pakistan", "Bangladesh", "Japan", "Philippines", "Vietnam"]
  => VAR @Asia
ENDBLOCK

BLOCK:ConstantList
LABEL:Australian Countries
  value = ["Australia", "Papua New Guinea", "New Zealand", "Fiji", "Solomon Islands", "Micronesia", "Vanuatu", "New Caledonia", "French Polynesia", "Samoa", "Tuvalu"]
  => VAR @Australia
ENDBLOCK

BLOCK:ConstantList
LABEL:Antarctican Countries
  value = ["Adélie Land", "British Antarctic Territory", "Ross Dependency", "Peter I Island and Queen Maud Land", "Australian Antarctic Territory", "Chilean Antarctic Territory", "Argentine Antarctica"]
  => VAR @Antarctica
ENDBLOCK

FOREACH elem IN continents

//Each Continent as a predefined list of countries
//I want to be able to ilterate through each continent
//Displaying the Name of each continent together with the names of countires
//in that continent before moving to the next continent, 


CLOG Red "North America"
CLOG Green "United states"

//it continues to display North America and ilterate through all the predefined
//List of countries in North America then moves to South America, does same and 
//so on for each country in each continent

Ruri thanks for your willingness to help.

You currently have no way to tell which continent corresponds to which list of countries.
Keep your existing lists of countries. Then you can either do something like this

FOREACH country IN NorthAmerica
CLOG Red "North America"
CLOG Green country
END

FOREACH country IN SouthAmerica
CLOG Red "South America"
CLOG Green country
END

or you can use a C# based solution by creating a dictionary which maps strings to lists.

var dict = new Dictionary<string, List<string>>
{
  { "North America", NorthAmerica },
  { "South America", SouthAmerica }
  // etc...
};

FOREACH pair IN dict
var continent = pair.Key;
var countries = pair.Value;
FOREACH country IN countries
CLOG Red continent
CLOG Green country
END
END
BLOCK:ConstantList
LABEL:North American Countries
  value = ["United States", "Mexico", "Canada", "Guatemala", "Haiti", "Cuba", "Dominican Republic", "Honduras", "Nicaragua", "El Salvador", "Costa Rica", "Panama", "Jamaica", "Puerto Rico"]
  => VAR @NorthAmerica
ENDBLOCK

BLOCK:ConstantList
LABEL:South America Countries
  value = ["Brazil", "Colombia", "Argentina", "Peru", "Venezuela", "Chile", "Ecuador", "Bolivia", "Paraguay", "Uruguay", "Guyana", "Suriname", "French Guiana", "Falkland Islands"]
  => VAR @SouthAmerica
ENDBLOCK

BLOCK:ConstantList
LABEL:European Countries
  value = ["Russia", "Germany", "United Kingdom", "France", "Italy", "Spain", "Ukraine", "Poland", "Romania", "Netherlands", "Belgium", "Czechia", "Greece", "Portugal", "European ETC"]
  => VAR @Europe
ENDBLOCK

BLOCK:ConstantList
LABEL:African Countries
  value = ["Nigeria", "Ethiopia", "Egypt", "The Democratic Republic of the Congo", "Tanzania", "South Africa", "Kenya", "African ETC"]
  => VAR @Africa
ENDBLOCK

BLOCK:ConstantList
LABEL:Asian Countries
  value = ["China", "India", "Indonesia", "Pakistan", "Bangladesh", "Japan", "Philippines", "Vietnam"]
  => VAR @Asia
ENDBLOCK

BLOCK:ConstantList
LABEL:Australian Countries
  value = ["Australia", "Papua New Guinea", "New Zealand", "Fiji", "Solomon Islands", "Micronesia", "Vanuatu", "New Caledonia", "French Polynesia", "Samoa", "Tuvalu"]
  => VAR @Australia
ENDBLOCK

BLOCK:ConstantList
LABEL:Antarctican Countries
  value = ["Adélie Land", "British Antarctic Territory", "Ross Dependency", "Peter I Island and Queen Maud Land", "Australian Antarctic Territory", "Chilean Antarctic Territory", "Argentine Antarctica"]
  => VAR @Antarctica
ENDBLOCK
FOREACH country IN NorthAmerica
CLOG Red "North America"
CLOG Green country
END

FOREACH country IN SouthAmerica
CLOG Red "South America"
CLOG Green country
END

FOREACH country IN Europe
CLOG Red "Europe"
CLOG Green country
END

FOREACH country IN Africa
CLOG Red "Africa"
CLOG Green country
END

FOREACH country IN Asia
CLOG Red "Asia"
CLOG Green country
END

FOREACH country IN Australia
CLOG Red "Australia"
CLOG Green country
END

FOREACH country IN Antarctica
CLOG Red "Antarctica"
CLOG Green country
END

//This only problem with this solution is if i have many more continents it will require
//More blocks of FOREACH HENCE BECOME COMPLICATED TO MANAGE. 

This other solution looked more interesting
I personally prefer this method but I want to be able to parseout
both variables for each output before continuing to the next run
Forexample the first Run gave North America and United States,
I want to parse out the variable before continuing to North Americ and Mexico doing same for all.

BLOCK:ConstantList
LABEL:Continents List
  value = ["North-America", "South-America", "Europe", "Africa", "Asia", "Australia", "Antarctica"]
  => VAR @continents
ENDBLOCK

BLOCK:ConstantList
LABEL:North American Countries
  value = ["United States", "Mexico", "Canada", "Guatemala", "Haiti", "Cuba", "Dominican Republic", "Honduras", "Nicaragua", "El Salvador", "Costa Rica", "Panama", "Jamaica", "Puerto Rico"]
  => VAR @NorthAmerica
ENDBLOCK

BLOCK:ConstantList
LABEL:South America Countries
  value = ["Brazil", "Colombia", "Argentina", "Peru", "Venezuela", "Chile", "Ecuador", "Bolivia", "Paraguay", "Uruguay", "Guyana", "Suriname", "French Guiana", "Falkland Islands"]
  => VAR @SouthAmerica
ENDBLOCK

BLOCK:ConstantList
LABEL:European Countries
  value = ["Russia", "Germany", "United Kingdom", "France", "Italy", "Spain", "Ukraine", "Poland", "Romania", "Netherlands", "Belgium", "Czechia", "Greece", "Portugal", "European ETC"]
  => VAR @Europe
ENDBLOCK

BLOCK:ConstantList
LABEL:African Countries
  value = ["Nigeria", "Ethiopia", "Egypt", "The Democratic Republic of the Congo", "Tanzania", "South Africa", "Kenya", "African ETC"]
  => VAR @Africa
ENDBLOCK

BLOCK:ConstantList
LABEL:Asian Countries
  value = ["China", "India", "Indonesia", "Pakistan", "Bangladesh", "Japan", "Philippines", "Vietnam"]
  => VAR @Asia
ENDBLOCK

BLOCK:ConstantList
LABEL:Australian Countries
  value = ["Australia", "Papua New Guinea", "New Zealand", "Fiji", "Solomon Islands", "Micronesia", "Vanuatu", "New Caledonia", "French Polynesia", "Samoa", "Tuvalu"]
  => VAR @Australia
ENDBLOCK

BLOCK:ConstantList
LABEL:Antarctican Countries
  value = ["Adélie Land", "British Antarctic Territory", "Ross Dependency", "Peter I Island and Queen Maud Land", "Australian Antarctic Territory", "Chilean Antarctic Territory", "Argentine Antarctica"]
  => VAR @Antarctica
ENDBLOCK
var dict = new Dictionary<string, List<string>>
{
  { "North America", NorthAmerica },
  { "South America", SouthAmerica },
  { "Europe", Europe },
  { "Africa", Africa },
  { "Asia", Asia },
  { "Australia", Australia },
  { "Antarctica", Antarctica }
  // etc...
};

FOREACH pair IN dict
var continent = pair.Key;
var countries = pair.Value;
FOREACH country IN countries
CLOG Red continent
CLOG Green country
END
END

//I personally prefer this method but I want to be able to parseout 
//both variables for each output before continuing to the next run
//Forexample the first Run gave North America and United States, 
//I want to parse out the variable before continuing to North Americ and Mexico doing same for all.

After parsing both variables i will use the variables in some request before it moves to the next variable. Thanks so much for taking out the time to look into this.

FOREACH pair IN dict
var continent = pair.Key;
var countries = pair.Value;
FOREACH country IN countries

// YOUR BLOCKS (e.g. requests) GO HERE

END
END
1 Like

Thanks so much for your assistance. I learned so much from all these