Applescript documentation говорит, что параметры Yosemite по параметрам для обработчиков могут быть необязательными.Необязательные параметры в обработчиках AppleScript
В разделе «Технические характеристики Параметр»:
Labeled parameters may be declared with a default value by following the formal parameter name with :literal. Doing so makes the parameter optional when called. For example, this declares a make handler with a default value for the with data parameter:
on make new theClass with data theData : missing value
This handler can now be called without supplying a with data parameter; the handler would see theData set to the specified default missing value, which it could then test for and handle appropriately.
Так, нуждаясь в обработчике с дополнительными параметрами, я пытался создать. Я зашел так далеко:
set theResult to Create of me given the string:"stuff", info:"this"
on Create given info:missing value, thestring:"stuff"
if info is missing value then
set present to false
else
set present to true
end if
return {present, thestring}
end Create
, который компилирует, но дает мне ошибку «Переменная thestring не определена».
Если я называю это только с одним параметром:
set theResult to Create of me given thestring:"stuff"
Я получаю ошибку: "Параметр Информация отсутствует для создания. т. е. параметр не является обязательным.
Как я могу получить необязательные параметры, работающие в обработчиках Applescript?
Извините, что не отметили это, как ответили раньше; Я перешел к другим проектам и не смог посмотреть на это. Но я думаю, что это правильно: это будет больше проблем, чем того стоит, и я должен продолжать делать это старомодным позиционным способом. – Rhiannon