如何使用 AppleScript 中的结果返回的列表?

How do I work with a list returned from the result in AppleScript?

这里是 AppleScript 新手。我有一个相当简单的问题,我似乎无法在网上找到答案。我保证我已经花了几个小时自己找到答案,但要么我没有搜索正确的关键字,要么我没有阅读正确的资源。所以这里是:

我已经成功地编写了一个代码来告诉应用程序 return 用户信息作为结果。然而,结果是 returned 作为一个列表,我无法在我的生活中弄清楚如何操纵它或使用它。这是我的结果的示例:

{{"FIRST_NAME", "LAST_NAME", "PHONE_NUM", "USER_EMAIL", "USER_ID", "USER_TITLE"}}

如果我只想获得 USER_ID,我该如何实现?我敢肯定,这不会那么难,请不要因为我没有自己弄清楚而串起来。我已经通读了 Apple's Scripting Guide 中的整个 "Manipulating Lists of Items" 部分,但就像我读过的其他资源一样,它们都在使用用户定义的列表,而不是 return 从结果。

这是我试过的方法:

Return item n of result

Return item n of result as string

我收到 "Can’t get item n of" 错误,所以我尝试将结果分配给一个变量,如列表

set theList to result as list
Return item n of theList

还是不行。然后我试图将结果变成一个字符串,但它把所有东西都作为一个很难操作的长字符串给我。

FIRST_NAMELAST_NAMEPHONE_NUMUSER_EMAILUSER_IDUSER_TITLE

我什至尝试了 Apple Scripting Guide 中的处理程序,并能够在字符串中获得结果,中间有 space。再一次,我无法操纵它。

是否可以从结果列表中选择一项?我觉得我正在接近这个完全错误的。非常感谢您的投入和教育。

也谢谢大家能容忍我这个很菜鸟的问题

你有一个列表列表,所以(假设内部列表总是具有相同的结构):

set aList to {{"FIRST_NAME", "LAST_NAME", "PHONE_NUM", "USER_EMAIL", "USER_ID", "USER_TITLE"}}

item 5 of item 1 of aList

--> "USER_ID"

其实你的list是嵌套的,请注意大括号的个数{{ ... }}

外层列表包含一个项是内层列表。

此代码在对话框中显示每个字段

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

不要将字符串强制转换为字符串,不要将列表强制转换为列表,这两种强制转换都是多余的。