自动热键字符串评估/比较未按预期工作


category_generic = book, book_asl, author, author_asl, publisher
StringSplit, categories_array, category_generic, `,
Loop 
{
    category := categories_array%a_index%
    do_my_amazing_stuff
    if (category = "author")
    {
        do_some_more_amazing_stuff
    }
}

问题:评估:if(类别="作者"(永远不会成立,尽管循环解析了数组的全部内容。此外,它可以正确地将类别写出出现在数组中,并将其写出到文件中。我尝试了数十亿个不同的版本,但没有一个有效。有人可以向我解释为什么评估没有得到评估吗?

问题是列表中的空格。AHK不会神奇地放弃它们。如果仔细观察,每个列表项后面的空格也会显示在输出文件中。要么首先将它们排除在外,要么以某种方式丢弃它们。 StringSplit提供了这样的功能OmitChars

StringSplit, categories_array, category_generic, `, %A_SPACE%

相关内容

最新更新