Tja det är väl bra att tänka på. Själv använder jag mig i princip alltid av den tekniken dels pga att den är snabbare när man har med stora datamängder eller stora antal iterationer, men framför allt för att den möjliggör listor med blandade värden, nästlade listor, samt inte minst viktigt, att man slipper ifrån den implicita klassomvandlingen som concatenation kan medföra.
Titta på det här exempel:
set IntactList to {}
set end of IntactList to {Forname:"Sven", name:"Svensson"}
set end of IntactList to {Fornamn:"Anders", name:"Andersson"}
set end of IntactList to {Fornamn:"Olle", name:"Olsson"}
--return IntactList
--result {{Forname:"Sven", name:"Svensson"}, {Fornamn:"Anders", name:"Andersson"}, {Fornamn:"Olle", name:"Olsson"}}
--- result = {1, 2, {3, 4}}
set MangledList to {}
set MangledList to MangledList & {Fornamn:"Sven", name:"Svensson"}
set MangledList to MangledList & {Fornamn:"Anders", name:"Andersson"}
set MangledList to MangledList & {Fornamn:"Olle", name:"Olsson"}
return MangledList
--result {Fornamn:"Sven", name:"Svensson"}
Dessutom finns det fler skillnader. Concatenation returnerar den sammanslagna strängen, men att lägga till något med "set end of" returnerar, inte som du skriver en nästlad lista, utan endast det senaste objektet, alltså
{3, 4}