Конечно, это легко выполнимо.Проблема в том, что вне блока tell application "Things" ... end tell
AppleScript не знает, какие вещи будут в нем особенными, и даже не смотрит на оба.Все, что вам нужно сделать, это переместить блок tell
в on getTodos(listName) ... end getTodos
:
on getTodos(listName)
tell application "Things"
repeat with todo in to dos of list "Inbox"
set todoName to the name of todo
set output to output & todoName
end repeat
end tell
end getTodos
Вы также можете заменить tell
на using terms from
;Я думаю, что это должно работать.Кроме того, вы никогда не используете listName
- вы хотели заменить "Inbox"
на listName
?
Однако вы должны иметь возможность заменить getTodos
на одну строку
on getTodos(listName)
tell application "Things" to get the name of the to dos of list listName
end getTodos
Этот вид ярлыков - одна из тех вещей, в которых хорошо работает AppleScript.Также обратите внимание, что эта новая версия не изменяет output
, а просто возвращает список;В любом случае, я бы сказал, что это лучшее решение, но вы всегда можете сделать set output to output & ...
.