Служба подсчета слов AppleScript
-
21-09-2019 - |
Вопрос
Я пытаюсь создать службу в OSX leopard, которая подсчитывает количество слов выделенного текста.У меня есть автомат, настроенный на запуск applescript, в который добавлено следующее:
on run {input, parameters}
count words of input
display alert "Words: " & input
return input
end run
Когда я компилирую скрипт, он говорит, что не может посчитать каждое слово.Что я делаю не так?
Спасибо за помощь,
Эллиотт
Решение
Прежде всего, я предполагаю, что вы тестируете это в Automator, и именно здесь возникает ошибка?Если да, то вероятная проблема в том, что входных данных нет, поэтому он не может сосчитать ни слова.Чтобы успешно протестировать его, вам необходимо временно добавить действие «Получить указанный текст» перед действием «Запустить AppleScript» и ввести тестовый текст в это поле.Вам придется удалить действие «Получить указанный текст», прежде чем использовать его в качестве реальной службы.
Во-вторых, вам нужно использовать
count words of (input as string)
чтобы получить правильный подсчет, в противном случае он вернет ноль.
Другие советы
Я сделал это здесь, на Github:
https://gist.github.com/1616556
Текущий источник:
on run {input, parameters}
tell application "System Events"
set _appname to name of first process whose frontmost is true
end tell
set word_count to count words of (input as string)
set character_count to count characters of (input as string)
tell application _appname
display alert "" & word_count & " words, " & character_count & " characters"
end tell
return input
end run
Используйте Automator.app, чтобы создать новую службу, а затем выберите действие «Запустить AppleScript».Вставьте этот код в текстовое поле и сохраните как количество слов и символов.Теперь переключитесь на новое приложение, выделите текст и откройте контекстное меню, чтобы найти новую опцию.