gpt4 book ai didi

javascript - 如何在提示用户使用 AppleScript 从列表中选择后查找数组中的位置

转载 作者:行者123 更新时间:2023-11-30 20:51:38 28 4
gpt4 key购买 nike

我不太明白这一点,我才刚刚开始编写脚本。为了解释,我想使用下面的代码来允许用户从列表中选择一个项目。然后,我想将他们选择的内容转换为列表中的数字位置。

例如,如果用户选择了 iPod,我希望它将他们的输入保存为 2 而不是 iPod。

这是我所拥有的:

set productList to {"iPad", "iPod", "iPhone", "Mac", "Apple TV", "Apple Watch", "Beats", "Apple Watch Edition", "Apple Watch Hermes"}
set yourProduct to choose from list of productList with prompt "Select your product: "

on listPosition(this_item, this_list)
repeat with i from 1 to the count of this_list
if item i of this_list is this_item then return i
end repeat
return 0
end listPosition

set item_num to my listPosition(yourProduct, productList)

最佳答案

虽然其他答案在发布此答案时确实会返回所选项目在列表中的位置,但它们不考虑可以使用 choose from list 进行的两种选择> command 按照您编码的方式。如图所示,您唯一需要做的就是修复当前的代码:

改变:

set yourProduct to choose from list of productList with prompt "Select your product: "

收件人:

try
set yourProduct to item 1 of (choose from list of productList with prompt "Select your product:")
on error
return
end try

它的作用是处理用户按下取消 按钮 和/或设置yourProduct> 到字符串,而不是列表,因为choose from list command if Cancel 没有被按下。然后您的 on listPosition(this_item, this_list) 处理程序 将在此特定用例中正常运行。

请注意,编写代码的方法通常不止一种,但通常最好使用 KISS 原则,尤其是在第一次学习如何编写代码时。

关于javascript - 如何在提示用户使用 AppleScript 从列表中选择后查找数组中的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48123758/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com