If statement 为什么我的Applescript IF循环和;等于;操作员工作不正常?
我有一个applescript进度条模拟器,我让用户从列表中选择一个菜单项:If statement 为什么我的Applescript IF循环和;等于;操作员工作不正常?,if-statement,applescript,logical-operators,If Statement,Applescript,Logical Operators,我有一个applescript进度条模拟器,我让用户从列表中选择一个菜单项: set gameMenuOption to choose from list simMenu with prompt " Slot: " & item slot of gameslots & " Mulla: $" & gameMulla & " Assets: " & gameAssets & " Speed: " & gameLoadSpeed &
set gameMenuOption to choose from list simMenu with prompt "
Slot: " & item slot of gameslots & "
Mulla: $" & gameMulla & "
Assets: " & gameAssets & "
Speed: " & gameLoadSpeed & "Assets Per Second"
提示基本上是用户的资产、金钱等。因此,当他们从菜单中选择某个内容时,他们还可以查看自己的统计数据。因此,当他们选择某样东西时,它会处理输入:
if gameMenuOption = "Shop" then
set gameShopOption to choose from list simShop with prompt "Shop: "
else if gameMenuOption is equal to "Load Progress Bar" then
--not finished yet!
else if gameMenuOption is equal to "Sell Assets" then
set gameMulla to gameMulla + gameAssets
else
error -128
end if
if语句不起作用!我已经研究了applescript和操作符上IF循环的语法,并反复阅读了我的代码,但我没有看到任何错误!当用户选择一个选项时,它只返回我故意写的-128错误,但它不应该这样做。。。我甚至用显示对话框对其进行了测试:
--> User enters: Sell Assets
display dialog gameMenuOption
--> Returns: Sell Assets
但当我这么做的时候:
display dialog gameMenuOption = "Sell Assets"
--> Returns: False
此外,我认为我需要将其转换为字符串,但这不起作用:
预期表达式,但找到“to”。
请帮帮我 从文档中:
通过将“允许多选”参数设置为true,“从列表中选择”命令可以选择让用户选择多个项目。因此,命令的结果始终是选定字符串的列表
因此,结果永远不会是“Shop”
。它可能是{“Shop”}
例如:
set simMenu to {"Shop", "Sell Assets"}
set gameMenuOption to choose from list simMenu with prompt "Blah blah blah"
if gameMenuOption = {"Shop"} then
display dialog "It worked" // the dialog appears
end if
或者(这可能更常见)你可以说
if item 1 of gameMenuOption = "Shop"
将其转换为字符串难道不起作用吗?我试过了,但没有。。。谢谢你!