如何使用 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
不要将字符串强制转换为字符串,不要将列表强制转换为列表,这两种强制转换都是多余的。
这里是 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
不要将字符串强制转换为字符串,不要将列表强制转换为列表,这两种强制转换都是多余的。