fragmento de 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
fragmento de 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)
He encontrado esta subrutina (fragmento 1a) es útil en el fragmento de 2a y desea reutilizar llamando a su nombre. Busqué en google para howto. Entonces me salvó fragmento de 1a como /Users/henry/Library/Script\ Libraries/text.scpt
y en el fragmento de 2a he sustituido
fragmento 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
fragmento 3
use script "text"
y tengo fragmento de 2b y entonces corrí fragmento 2b, pero tengo un error diciendo «script» doesn't understand the "removeText" message.
Referencia: "declaración de uso" (se refieren a la parte encontrar buscando en use script "Happy Fun Ball"
en https://developer.apple.com/library/mac/documentation/applescript/conceptual/applescriptlangguide/reference/ASLR_control_statements.html)
Así que me fui a google y encontré uno, lo que sugiere que debo guardar fragmento de 1a como "una secuencia de comandos de la aplicación".
Referencia 2: en la parte inferior de https://developer.apple.com/library/mac/documentation/applescript/conceptual/applescriptlangguide/conceptual/ASLR_about_handlers.html
En ese ejemplo, es
fragmento 4
tell application "NonStayOpen"
launch
stringTest("Some example text.")
end tell
así que exportan fragmento de 1a como /Users/henry/Library/Script\ Libraries/text.app
y escribió fragmento 2c
fragmento de 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
Entonces corrí y consiguió un error {} doesn't match the parameters {searchText,
sourceText} for removeText.
Después, he intentado en primer lugar para anexar removeText(searchText, sourceText)
a fragmento de 1a (conseguir el fragmento de código 1c) y exportado a reemplazar /Users/henry/Library/Script\ Libraries/text.app
pero tengo un error cuando se ejecuta, no;
en segundo lugar, para reemplazar removeText(searchText, sourceText)
con removeText()
en el fragmento de 1a (conseguir el fragmento de 1d) y exportado a reemplazar /Users/henry/Library/Script\ Libraries/text.app
pero tengo un error cuando se ejecuta, fracasado.
En el fragmento de 2a, ¿cómo puedo llamar/reutilización de una subrutina (fragmento 1a) de otro AppleScript o "secuencia de comandos de la aplicación" (ver Referencia 2)?