У меня есть куча кода, который я хочу использовать в нескольких разных яблочных скриптах, поэтому я хотел бы поместить его в свой собственный яблочный скрипт, на который я могу ссылаться из других яблочных скриптов. В основном я хочу сделать include. Как это делается в яблочном скрипте?
Как вы включаете в applescript?
comment
Повторяющийся вопрос: stackoverflow.com/questions/2606136 /
- person Philip Regan   schedule 30.11.2010
Ответы (2)
Вот лучший способ, который я нашел для этого. Вы можете вызвать функцию в другом скрипте следующим образом:
сценарий a.scpt
set myScript to load script "b.scpt"
set foo to myScript's theTest()
сценарий b.scpt
on theTest()
return true
end theTest
Как видите, вы можете вызывать функции в b.scpt из a.scpt, вызывая имя функции myScript's theTest().
person
Erik B
schedule
30.11.2010
Очень близко, но вы меня на правильном пути. Я попробовал это с обоими файлами на своем рабочем столе, и он говорит, что не может преобразовать b.scpt в файл типа. Я думаю, что нашел решение. Это заставляет его работать. сообщить приложению Finder установить путь к пути POSIX ((контейнер (путь ко мне)) в виде текста) конец сказать установить myScript для загрузки сценария thePath установить foo для myScript's theTest()
- person yodaisgreen; 30.11.2010
Вы можете поместить все обработчики и сценарии, на которые хотите ссылаться, в библиотеку сценариев (например: my_math_lib.scpt
и my_string_lib.scpt
). Затем сохраните этот файл в папке Script Libraries на вашем компьютере.
В зависимости от того, как вы хотите определить доступность этой библиотеки, вы используете другую папку:
- Поместите файлы
my_math_lib.scpt
иmy_string_lib.scpt
в папку/Library/Script Libraries
, чтобы сделать их доступными для всех пользователей компьютера. - Поместите их в папку
~/Library/Script Libraries
, чтобы сделать их доступными только для определенного пользователя.
Затем вы можете использовать все обработчики в этих библиотеках следующим образом:
property math_lib : script "my_math_lib"
property string_lib : script "my_string_lib"
math_lib's do_this()
string_lib's do_that()
person
smizzlov
schedule
07.05.2015