如何在宏quasiquotes中转义换行符

时间:2014-01-11 23:32:39

标签: scala macros scala-quasiquotes

例如:

q"import scala.collection.mutable.Buffer\ndef foo: Buffer[Int] = ???"

这会产生错误,因为换行符未解析。

1 个答案:

答案 0 :(得分:2)

来自我的tmp目录的样本:

    evals += q"""assert ($x.productArity >= ${args.length - 1},
    "Bad product arity ("+ $x.productArity +") for assignment")"""

或者,只使用半:

q"import scala.collection.mutable.Buffer; def foo: Buffer[Int] = ???"

你无法拼接被解析的东西。