今天刚刚开始学习applescript,我在尝试从列表中提取字符串时出现以下错误:
错误“无法将<>的列表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
我环顾四周,似乎找不到任何表明我这样做的错误。我究竟做错了什么?我也尝试用更多字符串实例化列表。
答案 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
(最后一行不需要括号。)