snippet 1a
on removeText(searchText, sourceText)
set prevTIDs to text item delimiters of AppleScript
set text item delimiters of AppleScript to searchText
set sourceText to text items of sourceText
set text item delimiters of AppleScript to ""
set sourceText to "" & sourceText
set text item delimiters of AppleScript to prevTIDs
return sourceText
end removeText
snippet 2a
on removeText(searchText, sourceText)
set prevTIDs to text item delimiters of AppleScript
set text item delimiters of AppleScript to searchText
set sourceText to text items of sourceText
set text item delimiters of AppleScript to ""
set sourceText to "" & sourceText
set text item delimiters of AppleScript to prevTIDs
return sourceText
end removeText
set theSentence to "I love Windows and I will always love Windows."
set theSentence to removeText("Windows", theSentence)
Ho trovato che questa subroutine (snippet 1a) è a portata di mano nel frammento 2a e vuole riutilizzarla chiamando il suo nome. Ho cercato su google come fare. Quindi ho salvato lo snippet 1a come /Users/henry/Library/Script\ Libraries/text.scpt
e nel frammento 2a ho sostituito
snippet 1b
on removeText(searchText, sourceText)
set prevTIDs to text item delimiters of AppleScript
set text item delimiters of AppleScript to searchText
set sourceText to text items of sourceText
set text item delimiters of AppleScript to ""
set sourceText to "" & sourceText
set text item delimiters of AppleScript to prevTIDs
return sourceText
end removeText
con
snippet 3
use script "text"
e ho ottenuto snippet 2b e poi ho eseguito lo snippet 2b, ma ho ricevuto un errore che diceva «script» doesn’t understand the “removeText” message.
Riferimento: "use statement" (fai riferimento alla parte trovata cercando use script "Happy Fun Ball"
in link )
Quindi sono tornato su google e ne ho trovato uno che suggeriva di salvare lo snippet 1a come "un'applicazione di script".
Riferimento 2: in fondo al link
Nell'esempio che segue, è
snippet 4
tell application "NonStayOpen"
launch
stringTest("Some example text.")
end tell
quindi ho esportato lo snippet 1a come /Users/henry/Library/Script\ Libraries/text.app
e ho scritto snippet 2c
snippet 2c
tell application "text"
launch
set theSentence to "I love Windows and I will always love Windows."
set theSentence to removeText("Windows", theSentence)
end tell
Poi l'ho eseguito e ho ricevuto un errore {} doesn't match the parameters {searchText,
sourceText} for removeText.
In seguito, ho provato prima ad aggiungere removeText(searchText, sourceText)
a snippet 1a (ottenendo snippet 1c ) e l'ho esportato per sostituire /Users/henry/Library/Script\ Libraries/text.app
, ma ho ricevuto un errore durante l'esecuzione, fallito;
in secondo luogo per sostituire removeText(searchText, sourceText)
con removeText()
nel snippet 1a (ottenendo snippet 1d ) ed esportarlo per sostituire /Users/henry/Library/Script\ Libraries/text.app
ma ha ottenuto un errore durante l'esecuzione, non è riuscito.
In snippet 2a, come posso chiamare / riutilizzare una subroutine (snippet 1a) da un altro AppleScript o "applicazione di script" (vedi riferimento 2)?