获取定义val的名称

时间:2016-12-15 09:33:58

标签: scala scala-macros

我想抓住我的宏输出所赋予的变量名称。与build.sbt中的project完全相同。如果有的话,我更喜欢开箱即用的解决方案(库),因为它看起来很像一般用例。

这是一个小例子

val someValue = myMacro()

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

1 个答案:

答案 0 :(得分:8)

您正在寻找SourceCode

示例:

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

scala> val foo = myName
foo: String = foo