Man kan sortera med UNIX, enkelt faktiskt:
Om du har en textsträng, med mellanslag mellan orden, så behöver du göra om den till en lista.
Du kanske gör så här?
set myString to ""
set myString to myString & "Cesar"
set myString to myString & " " & "Bertil"
set myString to myString & " " & "Adam"
--> "Cesar Bertil Adam "
set AppleScript's text item delimiters to " " -- Ett mellanslag
set myString to every text item of myString
--> {"Cesar", "Bertil", "Adam", ""}
-- Sortera med hjälp av UNIX
set AppleScript's text item delimiters to {ASCII character 10} -- always a linefeed
set list_string to (myString as string)
set new_string to do shell script "echo " & quoted form of list_string & " | sort -f"
set myString to (paragraphs of new_string)
-- {"Adam", "Bertil", "Cesar"}
Om du istället i ditt script bygger upp din lista genom att lägga till saker till den så kan det se ut så här:
set myString to {}
set myString to myString & "Cesar"
set myString to myString & "Bertil"
set myString to myString & "Adam"
myString
--> {"Cesar", "Bertil", "Adam", ""}
-- Sortera med hjälp av UNIX
set AppleScript's text item delimiters to {ASCII character 10} -- always a linefeed
set list_string to (myString as string)
set new_string to do shell script "echo " & quoted form of list_string & " | sort -f"
set myString to (paragraphs of new_string)
--> {"Adam", "Bertil", "Cesar"}
Du vet hur man gör om en en lista till en text?
set AppleScript's text item delimiters to " " -- Eller vad du nu vill ha mellan varje item i listan, kan vara tex semikolon mellanslag eller komma mellanslag eller cykel.
set myString to myString as text
--> "Adam Bertil Cesar"