fragmento 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 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)
Encontré que esta subrutina (fragmento 1a) es útil en el fragmento 2a y desea reutilizarla llamando su nombre. Busqué en Google para el howto. Luego guardé el fragmento 1a como /Users/henry/Library/Script\ Libraries/text.scpt
y en el fragmento 2a reemplacé
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 obtuve fragmento de código 2b y luego ejecuté el fragmento de código 2b, pero recibí un error al decir «script» doesn’t understand the “removeText” message.
Referencia: "declaración de uso" (consulte la parte encontrada buscando use script "Happy Fun Ball"
en enlace )
Así que volví a Google y encontré uno que sugiere que debería guardar el fragmento 1a como "una aplicación de script".
Referencia 2: en la parte inferior de enlace
En el ejemplo de ese uno, es
fragmento 4
tell application "NonStayOpen"
launch
stringTest("Some example text.")
end tell
así que exporté el fragmento 1a como /Users/henry/Library/Script\ Libraries/text.app
y escribí el fragmento 2c
fragmento 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
Luego lo ejecuté y obtuve un error {} doesn't match the parameters {searchText,
sourceText} for removeText.
Luego, intenté agregar removeText(searchText, sourceText)
al fragmento 1a (obteniendo snippet 1c ) y lo exporté para reemplazar /Users/henry/Library/Script\ Libraries/text.app
, pero obtuve un error al ejecutar, falló;
en segundo lugar, para reemplazar removeText(searchText, sourceText)
con removeText()
en el fragmento 1a (obteniendo fragmento 1d ) y lo exportó para reemplazar /Users/henry/Library/Script\ Libraries/text.app
pero se produjo un error al ejecutar, falló.
En el fragmento de código 2a, ¿cómo puedo llamar / reutilizar una subrutina (fragmento de código 1a) de otro AppleScript o "aplicación de script" (ver referencia 2)?