J'ai besoin de macros Scala (reify, quasiquote, macro impl) pour ma bibliothèque d'assertions Scala.Les macros Scala peuvent-elles être définies à l'intérieur d'une classe (en tant que méthodes de cette classe)?
Je veux être en mesure de le faire:
object1.assertEquals(object2) // success: object1 = object2
Ou comme ceci:
3.assertEquals(1 + 1) // failure: 1 + 1 /= 3
Peut-on définir des macros Scala dans une classe implicite?
Oui, une macro définition est juste un appel de méthode. Le préfixe que vous voyez dans l'application sera différent. –
@ som-snytt - que voulez-vous dire par "Le préfixe que vous voyez dans l'application aura l'air différent"? –
@ som-snytt - si je veux que l'objet lui-même, "this", soit passé dans la macro, est-ce que je fais q "$ this" et l'utilise comme un arbre comme les autres arbres? –