2016-12-15 62 views
4

我想要捕获我的宏的输出分配给的变量的名称。与build.sbt中的project完全一样。如果有解决方案(库),我会更喜欢它,因为它看起来很普通的用例。获取定义val的名称

下面是小例子

val someValue = myMacro() 

,并作为myMacro()输出我想获得字符串"someValue"

+0

的问题还不是很清楚。也许一个例子会帮助 – pedrorijo91

回答

8

您正在寻找SourceCode

例子:

scala> def myName(implicit name: sourcecode.Name) = name.value 
myName: (implicit name: sourcecode.Name)String 

scala> val foo = myName 
foo: String = foo 
+0

Exactyl!非常感谢。 – Krever