“无法将&lt; <script >>列表的第0项变为类型文本”错误</script>

时间:2013-03-11 07:15:12

标签: applescript

今天刚刚开始学习applescript,我在尝试从列表中提取字符串时出现以下错误:

  

错误“无法将&lt;&gt;的列表my_list的第0项转换为类型文本。”   数字-1700从my_list的第0项到文本

我不确定这意味着什么。错误来自以下几行:

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

我环顾四周,似乎找不到任何表明我这样做的错误。我究竟做错了什么?我也尝试用更多字符串实例化列表。

1 个答案:

答案 0 :(得分:2)

你做了太多编程! :-)事实证明,AppleScript列表是 1 - 索引, 0索引。所以item 1 in my_list可以正常工作。 (AppleScript被设计为非程序员使用,所以它有这样的怪癖。)

另外(至少在我的10.8.2系统上),"strings"的类已经是text,因此as text是不必要的。仅供参考,您可以使用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

(最后一行不需要括号。)