Я пытаюсь создать задачу Automator, которая использует AppleScript для форматирования номера телефона в формат (XXX не) XXX-XXXXформатирование телефоны в Applescript
on clean_number(phoneNumber)
set newString to {}
repeat with c in the characters of phoneNumber
set c to c as text
if c is not "-" then
if c is not " " then
set the end of newString to c
end if
end if
end repeat
return newString
end clean_number
on run {input, parameters}
set originalText to clean_number(input) as string
if length of originalText is 10 then
set areaCode to items 1 thru 3 of originalText as string
set localExchange to items 4 thru 6 of originalText as string
set phoneNumber to items 7 thru end of originalText as string
set result to "(" & areaCode & ")" & localExchange & "-" & phoneNumber as string
return result
end if
end run
, когда я запускаю это я получаю никакого результата. Я проверил функцию запуска отдельно, и он работает. Проблема, которую я получаю, кажется, повторяется, потому что, когда я пытаюсь вернуть c изнутри повтора, я не получаю результата
Редактировать: Как рекомендовал iayork, я попытался запустить скрипт через терминал, и он сработал! Это означает, что проблема лежит где-то в том, как Automator обрабатывает сценарий.
Даже когда я возвращаю значение, которое pure_number дает мне, я не получаю результата до утверждения if. Вход передается правильно, потому что когда я делаю оператор clean_number, просто возвращаю номер телефона, скрипт работает. –
Вы вызываете скрипт через osascript? Что произойдет, если вы попросите только «ввод», прежде чем что-нибудь случится? – iayork
Хм, когда я запускаю его так, как вы показали, он работает, я не уверен, что делает automator, я удалил параметры, как вы сказали, но он все равно ничего не возвращает –