标签: scala metaprogramming dsl
例如,假设我想重新定义爆炸符号,以表示与Scala中DSL的三重引号相同的内容。
然后我想要
!Hello world!
与
“”“Hello world”“”
在Scala源代码中。 (基本上,这可能类似于C中的#DEFINE。)
答案 0 :(得分:3)
因为“”“的行为是该语言的内置特性(参见the spec的1.3.5节),并且它的任何别名都需要词法解析器的支持,我不认为这是可能的,使用正常的方法。即使macro processor也不能在那么低的水平上工作。