2015-09-25 3 views
0

Я пишу скрипт для рабочего стола Alfred. Однако сравнение строк никогда не оценивает истину.Сравнение строк никогда не оценивает true в Alfred

"{query}" The внутри сценария действительно заменяется с правильным типом ctext значения, которое я могу Аверс используя display dialog "{query}" и display dialog class of "{query}".

if "{query}" is equal to "a" then 
    say "in the a case" 
else 
    say "in the else case" 
end if 

Я также попытался использовать if "{query}" = "a" then, но все имеют тот же результат.

Оценка продолжает падать к заявлению else.

Ссылаясь на статью ниже, при написании условных операторов.

http://computers.tutsplus.com/tutorials/if-and-if-else-applescript-conditional-statements--mac-45590

enter image description here

+0

Проверить «** Двойные кавычки **» и «** **» обратную косую черту флажков, чтобы установить ускользающей для AppleScript – jackjr300

+0

@ jackjr300 Спасибо за ваши комментарии. После проверки флажков экранирования оценка по-прежнему остается ложной. –

ответ

1

Это не нормально, отлаживать его с помощью этого сценария, может быть строка содержит невидимый символ.

set t to "{query}" 
display dialog "The ID of 'a' is " & id of "a" --> the id of a is 97 
repeat with i in t -- check the id of every character in "{query}" 
    display dialog "The ID of '" & i & "' is " & id of i 
end repeat 
if t is equal to "a" then 
    say "in the a case" 
else 
    say "in the else case" 
end if 
+0

Да, вы правы. Первый символ внутри '{query}' - пустой символ с кодом символа '32'. Ваш код выше эффективен для отладки. Благодарю. –

 Смежные вопросы

  • Нет связанных вопросов^_^