Вопрос

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top