AutoHotKey-带有一系列 InStr 函数的 switch 语句

AutoHotKey-带有一系列 InStr 函数的 switch 语句

我创建了一个 AutoHotKey 脚本,其中包含一系列if依赖于 InStr 的函数,如下例所示,它已经满足了我的要求。但是,是否可以将其转换为Switch语句以简化并避免if InStr...多次重复?

fullPath在脚本执行期间,的值保持不变。

fullPath = "%1%" 
;input examples: "c:\example\lalala lynx lalala.txt" and  "c:\another folder\test\kiwi testtest.txt"

if InStr(fullPath, "kiwi")
{
    Goto, FRUIT
}

if InStr(fullPath, "Estonia")
{
   Goto, COUNTRY
}

if InStr(fullPath, "lynx")
{
   Goto, ANIMAL
}

答案1

尝试使用关联数组

assocArray := { "kiwi" : "FRUIT" , "Estonia" : "COUNTRY" , "lynx" : "ANIMAL" }
for key, val in assocArray
{
    if InStr(fullPath, key)
        Goto, %val%
}

相关内容