Как вы включаете в applescript?

У меня есть куча кода, который я хочу использовать в нескольких разных яблочных скриптах, поэтому я хотел бы поместить его в свой собственный яблочный скрипт, на который я могу ссылаться из других яблочных скриптов. В основном я хочу сделать include. Как это делается в яблочном скрипте?


person yodaisgreen    schedule 30.11.2010    source источник
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
comment
Очень близко, но вы меня на правильном пути. Я попробовал это с обоими файлами на своем рабочем столе, и он говорит, что не может преобразовать 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