фрагмент 1а
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
фрагмент 2а
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)
Я обнаружил, что эта подпрограмма (фрагмент 1а) удобна в фрагменте 2а и хочу использовать ее повторно, называя ее имя. Я погуглил как. Затем я сохранил фрагмент 1a как /Users/henry/Library/Script\ Libraries/text.scpt
и в фрагменте 2a заменил
фрагмент 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
с
фрагмент 3
use script "text"
и получил фрагмент 2b, а затем я запустил фрагмент 2b, но я получил сообщение о том, что «script» doesn’t understand the “removeText” message.
Ссылка: "оператор использования" (обратитесь к части, найденной путем поиска use script "Happy Fun Ball"
в https://developer.apple.com/library/mac/documentation/applescript/conceptual/applescriptlangguide/reference/ASLR_control_statements.html)
Поэтому я вернулся в Google и нашел один, предлагающий сохранить фрагмент 1a как «приложение-скрипт».
Ссылка 2: внизу https://developer.apple.com/library/mac/documentation/applescript/conceptual/applescriptlangguide/conceptual/ASLR_about_handlers.html
В этом примере это
фрагмент 4
tell application "NonStayOpen"
launch
stringTest("Some example text.")
end tell
поэтому я экспортировал фрагмент 1a как /Users/henry/Library/Script\ Libraries/text.app
и написал фрагмент 2c
фрагмент 2с
tell application "text"
launch
set theSentence to "I love Windows and I will always love Windows."
set theSentence to removeText("Windows", theSentence)
end tell
Затем я запустил его и получил ошибку {} doesn't match the parameters {searchText,
sourceText} for removeText.
После этого я сначала попытался добавить removeText(searchText, sourceText)
к фрагменту 1a (получение фрагмента 1c) и экспортировал его для замены /Users/henry/Library/Script\ Libraries/text.app
но получил ошибку при запуске; произошел сбой;
во-вторых, заменить removeText(searchText, sourceText)
на removeText()
в фрагменте 1a (получение фрагмента 1d) и экспортировать его для замены /Users/henry/Library/Script\ Libraries/text.app
но при запуске возникла ошибка. Ошибка.
В фрагменте 2а, как мне вызвать / повторно использовать подпрограмму (фрагмент 1а) из другого AppleScript или «приложения-скрипта» (см. Ссылку 2)?