2013-08-11 2 views
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 
    } 
} 

Problème: L'évaluation: if (category = "author") ne vaut jamais vrai, malgré le fait que la boucle parcourt tout le contenu du tableau. De plus, il peut écrire correctement les catégories telles qu'elles apparaissent dans le tableau, dans un fichier. J'ai essayé des milliards de versions différentes, rien ne fonctionne. Quelqu'un peut-il m'expliquer pourquoi l'évaluation n'est pas évaluée?L'évaluation/comparaison de chaînes Autohotkey ne fonctionnait pas comme prévu

Répondre

3

Le problème sont les espaces dans votre liste. AHK ne les lâchera pas par magie. Si vous regardez attentivement, les espaces après chaque élément de liste apparaissent également dans votre fichier de sortie. Soit les laisser en premier lieu ou les jeter d'une manière ou d'une autre. StringSplit fournit une telle fonctionnalité avec OmitChars:

StringSplit, categories_array, category_generic, `, %A_SPACE% 
+1

MCL a la réponse! – bgmCoder

+0

@ BGM J'ai marqué cette réponse hier – Khalil

Questions connexes