In een vorige blog is uitgelegd hoe je in Dynamo voor Civil 3D een lijst met teksten doorloopt om een deel van de tekst te vervangen. Maar deze functie werkt niet op een lijst met sub-lijsten. Dan wordt een foutmelding getoond over de array rank reduction:
Dit wordt veroorzaakt doordat er een lijst wordt gevraagd en elk item in de lijst als string (tekst) wordt beschouwd. Maar in een lijst met sub-lijsten is elk item geen tekst maar een nieuwe lijst. Je kunt dit oplossen door niet een lijst met strings maar een lijst met sub-lijsten te bevragen. Verander dit:
texts: string[];
door dit:
texts: string[][];
En daarna werkt de functie wel goed.
Het nadeel van deze methode is weer dat als je een lijst zonder sub-lijsten invoert, dat elke tekst als een aparte lijst wordt verwerkt:
In dat geval kun je het resultaat nog een keer samenvoegen met de node List.Flatten om één lijst met waarden te verkrijgen. Of je kunt de code nog verder uitbreiden zodat je eerst onderzoekt of de inhoud bestaat uit lijsten. Dat is een leuk uitzoekwerkje voor een volgende keer.