Donner le codevariables d'interpolation et macro Chaîne
class Test {
static function main() {
var i = 1;
trace(m('some before $i some after')); // some before 1 some after
}
static macro function m(e: haxe.macro.Expr)
{
trace(e); // { expr => EConst(CString(some before $i some after)), pos => #pos(Test.hx:4: characters 12-39) }
// trace the name of referenced var
/*
trace();
*/
return macro $e;
}
}
Que dois-je placer dans le code commenté pour trace()
le nom de la variable utilisée dans une expression String
interpolée sans analyse syntaxique manuelle de la chaîne constante?
Je suppose que c'est aussi ce que les différentes cibles utilisent pour sortir leurs chaînes interpolées ... Cela répond à ma question initiale. Et je pense que je devrais commencer vraiment à lire les documents de l'API. Et probablement le code source de vos bibliothèques sur github. ;) – szczepanpp
Neat, merci Juraj, apprendre quelque chose de nouveau tous les jours. Je vais laisser ma réponse au cas où les gens vont chercher des mots-clés dans la solution naïve. : D Au moins j'ai le 'cas EConst (CString (str)):' Merci au didacticiel de correspondance de modèle récent de Mark. –