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)
Eu encontrei esta sub-rotina (trecho 1a) é útil no snippet 2a e quero reutilizá-lo chamando seu nome. Eu pesquisei como fazer. Então salvei o snippet 1a como /Users/henry/Library/Script\ Libraries/text.scpt
e no snippet 2a substituí
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
com
snippet 3
use script "text"
e recebi snippet 2b e, em seguida, executei o snippet 2b, mas recebi um erro dizendo «script» doesn’t understand the “removeText” message.
Referência: "use statement" (consulte a parte encontrada pesquisando use script "Happy Fun Ball"
em link )
Então eu voltei para o Google e encontrei um sugerindo que eu deveria salvar o snippet 1a como "um aplicativo de script".
Referência 2: na parte inferior do link
Nesse exemplo, é
snippet 4
tell application "NonStayOpen"
launch
stringTest("Some example text.")
end tell
, então eu exportei o snippet 1a como /Users/henry/Library/Script\ Libraries/text.app
e escrevi o 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
Então eu corri e recebi um erro {} doesn't match the parameters {searchText,
sourceText} for removeText.
Depois, tentei em primeiro lugar acrescentar removeText(searchText, sourceText)
ao snippet 1a (obtendo snippet 1c ) e exportá-lo para substituir /Users/henry/Library/Script\ Libraries/text.app
, mas recebi um erro ao executar, falhou;
em segundo lugar, para substituir removeText(searchText, sourceText)
por removeText()
no snippet 1a (obtendo snippet 1d ) e exportado para substituir /Users/henry/Library/Script\ Libraries/text.app
, mas ocorreu um erro ao executar, falhou.
No trecho 2a, como eu chamo / reuso uma sub-rotina (trecho 1a) de outro AppleScript ou "aplicativo de script" (consulte a Referência 2)?