Изменить свойства в одном appleScript, запустив другой appleScript? - PullRequest
2 голосов
/ 05 августа 2011

Кто-нибудь знает, как изменить свойства в одном appleScript, запустив другой appleScript? Я знаю, как читать свойства, хранящиеся в отдельном скрипте, но не могу понять, как их редактировать.

Например. Файл 1 содержит свойства: (сохранено как «тест» на рабочем столе)

property test : 1

Файл 2 может получить значение этого свойства

global test
set test to (load script (("/Users/knickman/Desktop/test.scpt") as POSIX file))

if test's test is 1 then    
say "yes"   
else    
say "no"    
end if

Это работает. Тем не менее, если я попытаюсь изменить значение в файле 1 из другого сценария с чем-то вроде:

global test
set test to (load script (("/Users/knickman/Desktop/test.scpt") as POSIX file))

set test's test to 1

Это не работает. Возможно ли то, что я пытаюсь сделать? Я пытаюсь использовать это в качестве простой базы данных. Спасибо за любую помощь

1 Ответ

2 голосов
/ 05 августа 2011

Загрузка скрипта с помощью load script создает копию объекта скрипта, хранящегося в файле test.scpt в памяти.

Изменение свойства загруженного скрипта приведет только к изменению значения объекта скрипта в памяти, но не повлияет на файл скрипта, из которого скрипт был изначально загружен. Однако вы можете использовать команду store script для сохранения изменений:

global test
set test to load script (POSIX file "/Users/knickman/Desktop/test.scpt")

if test's test is 1 then
    say "yes"
    set test's test to 0
else
    say "no"
    set test's test to 1
end if

store script test in (POSIX file "/Users/knickman/Desktop/test.scpt") replacing yes
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...