2013-03-11 6 views
1

Только начал изучать AppleScript сегодня, и я получаю следующее сообщение об ошибке при попытке вывести строку из списка:«Невозможно создать элемент 0 из списка <<script>> в тип текста» ошибка

ошибка "Не могу сделать пункт 0 из списка my_list из <> в текст типа." номер -1700 из пункта 0 of my_list в текст

Я не уверен, что это значит. Ошибка происходит от этих линий:

set my_list to {"http://my_url.com?var=a" as text} 
set theUrl to (item 0 in my_list) as text 

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

ответ

2

Вы сделали слишком много программирования! :-) Оказывается, что списки AppleScript: -индекс, и не 0-indexed. Таким образом, item 1 in my_list будет работать нормально. (AppleScript был разработан для использования непрограммистов, поэтому он имеет причуды, как это.)

также (по крайней мере на моей системе 10.8.2), класс "strings" уже text, поэтому as text s не нужны , И только FYI, вы можете использовать item 1 of … вместо item 1 in …. (См выше ре «используется непрограммистов:».. Он должен был выглядеть как английский язык)

Таким образом:

set my_list to {"http://my_url.com?var=a"} 
set theUrl to item 1 in my_list 

Или, если my_list фактически неизвестного происхождения, и вам нужно преобразовать результат поиска,

set my_list to {"http://my_url.com?var=a"} 
set theUrl to item 1 in my_list as text 

(нет скобки не нужны на последней строке.)

+0

Ааааа я вижу! Благодарим вас за дополнительные комментарии о строках 'как text'. У меня изначально было то, что вы сказали выше, но в моем расстройстве я добавил призывы на кастинг повсюду и изменил «из» на «в». В стороне, я думаю, его немой для языка сценариев, который будет нацелен на не-программистов. Пользователи, которые продолжают программировать после использования applescript, будут так запутаны. –

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