Zaznacz stronę

Tworzenie tablicy z ciągu znaków – AppleScript

AppleScript pozwala na ustawienie separatora, po którym będzie dzielił tekst. Umożliwia także łączenie elementów tablicy w ciąg znaków. Domyślne separator jest ustawiony na {“”}, dzieląc tekst po każdym znaku.

W prosty sposób możesz go zmienić, przykładowo na spacje:

set AppleScript's text item delimiters to space

lub w innej formie:

set AppleScript's text item delimiters to {" "}

Wykonując teraz polecenie:

set exampleText to "AppleScript jest niesamowity!"
set array to exampleText's text items
array
-- {"AppleScript", "jest", "niesamowity!"}

Aby odwołać się do 2 elementu tablicy:

item 2 of array
-- "jest"

A co w przypadku, gdy chcesz złączyć elementy tablicy w pojedynczy ciąg znaków oddzielony przecinkami? Nic prostszego, definiujesz separator:

set AppleScript's text item delimiters to {", "}

Po czym wykonujesz prosty kod:

set exampleArray to {"ls", "cd", "cat", "cp", "mv", "ln"}
set shellCommands to exampleArray as string
shellCommands
-- "ls, cd, cat, cp, mv, ln"

Poniżej przedstawiam gotową funkcję split oraz jej wykorzystanie

on split(value, delimiter)
    set delimiterBackup to AppleScript's text item delimiters
    set AppleScript's text item delimiters to delimiter
    set value to value's text items
    set AppleScript's text item delimiters to delimiterBackup
    return value
end split

set shellCommands to split("ls, cd, cat, cp, mv, ln", {", "})

shellCommands
-- {"ls", "cd", "cat", "cp", "mv", "ln"}

item 4 of shellCommands
-- "cp"