Служба подсчета слов AppleScript

Я пытаюсь создать службу в OSX leopard, которая подсчитывает количество слов выделенного текста. У меня есть автомат, настроенный на запуск яблочного скрипта со следующим:

on run {input, parameters}
        count words of input
        display alert "Words: " & input
        return input
end run

Когда я компилирую скрипт, он говорит, что не может считать каждое слово. Что я делаю не так?

Спасибо за помощь,

Эллиотт


person Elliott Bowles    schedule 07.09.2009    source источник


Ответы (2)


Прежде всего, я предполагаю, что вы тестируете это в Automator, и именно здесь возникает ошибка? Если это так, вероятная проблема заключается в том, что входных данных нет, поэтому он не может считать слова из ничего. Чтобы успешно протестировать его, вам нужно временно добавить действие «Получить указанный текст» перед действием «Выполнить AppleScript» и ввести в это поле некоторый тестовый текст. Вам придется удалить действие «Получить указанный текст», прежде чем использовать его в качестве реальной службы.

Во-вторых, вам нужно использовать

count words of (input as string)

чтобы получить правильный счет, иначе он вернет ноль.

person Jonathan Patt    schedule 07.09.2009
comment
Спасибо за ответ - у меня была проблема с тем, что я не использовал строку, поэтому спасибо за прояснение этого вопроса. - person Elliott Bowles; 08.09.2009

Я сделал один здесь, на 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». Вставьте этот код в текстовое поле и сохраните как количество слов и символов. Теперь переключитесь на новое приложение, выберите текст и откройте контекстное меню, чтобы найти новую опцию.

person Noah Slater    schedule 15.01.2012