0
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 (category = "author") 永远不会成立,尽管循环解析了数组的全部内容。此外,它可以将出现在数组中的类别正确地写出到文件中。我尝试了十亿个不同的版本,但都不起作用。有人可以向我解释为什么评估没有得到评估吗?

4

1 回答 1

3

问题是您列表中的空格。AHK 不会神奇地丢弃它们。如果您仔细观察,每个列表项之后的空格也会出现在您的输出文件中。要么一开始就把它们排除在外,要么以某种方式丢弃它们。StringSplit提供这样的功能OmitChars

StringSplit, categories_array, category_generic, `, %A_SPACE%
于 2013-08-11T17:26:46.687 回答