如何在Scala代码中重新定义符号/字符以解释为“”(三重引号)符号?

时间:2013-11-25 20:15:58

标签: scala metaprogramming dsl

例如,假设我想重新定义爆炸符号,以表示与Scala中DSL的三重引号相同的内容。

然后我想要

!Hello world!

意思相同

“”“Hello world”“”

在Scala源代码中。 (基本上,这可能类似于C中的#DEFINE。)

1 个答案:

答案 0 :(得分:3)

因为“”“的行为是该语言的内置特性(参见the spec的1.3.5节),并且它的任何别名都需要词法解析器的支持,我不认为这是可能的,使用正常的方法。即使macro processor也不能在那么低的水平上工作。