27 Ottobre 2012 alle 18:51
#80109
::
Alla fine ci sono arrivato da solo.
Se [tt]\t[/tt] non contiene alcun asterisco il terzo parametro di [tt]\a[/tt] è vuoto, il secondo è [tt]\atest[/tt] e il test diventa
`\ifx\atest\atest\resultfalse\else\resulttrue\fi`
che ovviamente rstituisce [tt]\resultfalse[/tt], e non conta che [tt]\ifx[/tt] esegue un livello di espansione.
Se invece [tt]\t[/tt] contiene almeno un asterisco il primo di questi diventa il delimitatore di [tt]\a[/tt], il cui terzo parametro diventa [tt]\atest[/tt] e il cui secondo parametro è costituito dai tokens successivi al primo asterisco in [tt]\t[/tt]; il test di [tt]\a[/tt] restituisce quindi \resulttrue.
Ciao.