AppleScript新手在这里。我有一个相当简单的问题,我似乎无法在网上找到答案。我保证我已经花了几个小时自行寻找答案,但是我没有在搜索正确的关键字,或者没有在阅读正确的资源。所以这里是:
我已经成功编写了脚本代码,告诉应用程序返回用户信息作为结果。但是,结果以列表形式返回,我一生都无法弄清楚如何操作或使用它。这是我的结果的示例:
{{"FIRST_NAME", "LAST_NAME", "PHONE_NUM", "USER_EMAIL", "USER_ID", "USER_TITLE"}}
如果我只想获取USER_ID,我将如何实现?我敢肯定,这不是很难的事,请不要因为我自己弄不懂它而告我。我已经阅读了Apple's Scripting Guide中的整个“操作项目列表”部分,但就像我阅读的其他资源一样,它们都使用用户定义的列表,而不是结果返回的内容。>
这是我尝试过的:
Return item n of result
或
Return item n of result as string
我收到“无法获得第n个项目”错误,因此我尝试将结果分配给变量,例如列表
set theList to result as list
Return item n of theList
仍然无效。然后,我尝试将结果转换为字符串,但随后却将所有内容都变成了一个很难操作的长字符串。
FIRST_NAMELAST_NAMEPHONE_NUMUSER_EMAILUSER_IDUSER_TITLE
我什至尝试了《 Apple脚本指南》中的处理程序,并能够以字符串之间的空格获取结果。同样,我无法操纵它。
是否可以从结果列表中选择一项?我觉得自己正在接近完全错误。非常感谢SOOOO的投入和教育。
也感谢您容忍我的新手询问。
答案 0 :(得分:1)
您所拥有的是一个列表列表,因此(假设内部列表始终具有相同的结构):
set aList to {{"FIRST_NAME", "LAST_NAME", "PHONE_NUM", "USER_EMAIL", "USER_ID", "USER_TITLE"}}
item 5 of item 1 of aList
--> "USER_ID"
答案 1 :(得分:1)
实际上您的列表是嵌套的,请注意括号{{ ... }}
外部列表包含一个项目,即内部列表。
此代码在对话框中显示每个字段
set theList to {{"FIRST_NAME", "LAST_NAME", "PHONE_NUM", "USER_EMAIL", "USER_ID", "USER_TITLE"}}
set fields to item 1 of theList -- gets the inner list
repeat with aField in fields
display dialog aField buttons {"OK"} default button 1
end repeat
或获取特定索引的项目
set userID to item 5 of fields
不要将字符串强制转换为字符串,将列表强制转换为列表,这两个强制都是多余的。