Как я могу преобразовать серию слов в дело верблюда в AppleScript?

Я пытаюсь изменить Dragon Dictate, который может исполнять AppleScript с помощью серии слов, которые были произнесены. Мне нужно выяснить, как я могу взять строку, содержащую эти слова, и преобразовать ее в случай верблюда.

on srhandler(vars)
    set dictatedText to varDiddly of vars
    say dictatedText
end srhandler

Поэтому, если я настрою макрос для выполнения вышеуказанного скрипта, называемого верблюдом, и скажу "верблюжья нить со строкой", dictatedText будет установлен в "строковая со строкой". Это классная особенность DD. Однако я не знаю AppleScript, поэтому я не знаю, как преобразовать "строку со строкой" в случай верблюда, то есть stringWithString.

Если бы я мог изучить эту основную вещь, я, возможно, мог бы, наконец, начать программировать голосом, что было бы лучше, чем иметь дело с клавишными и геймерскими клавиатурами, которые распространены, но я нахожу их ужасными.

1 ответ

Решение

Если вам нужно только преобразовать фразу в верблюжий текст, вот как я бы это сделал:

set targetString to "string with string"
set allCaps to every character of "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
global allCaps
set camel to my MakeTheCamel(targetString)

to MakeTheCamel(txt)
    set allWords to every word of txt
    set camelString to ""
    repeat with eachWord in allWords
        set char01 to character 1 of (eachWord as text)
        set remainder to characters 2 thru -1 of (eachWord as text)
        repeat with eachChar in allCaps
            if char01 = (eachChar as text) then
                set camelString to camelString & (eachChar as text) & (remainder as text)
                exit repeat
            end if
        end repeat
    end repeat
    return camelString
end MakeTheCamel

Так как AppleScript считает "a" = "A" чтобы быть правдой, вам нужно только сравнить любую нужную букву с ее заглавной эквивалентной буквой и заменить ее.

Надеюсь, это поможет.

Другие вопросы по тегам