我想抓住我的宏输出所赋予的变量名称。与build.sbt中的project
完全相同。如果有的话,我更喜欢开箱即用的解决方案(库),因为它看起来很像一般用例。
这是一个小例子
val someValue = myMacro()
并且作为myMacro()
的输出,我想获得字符串"someValue"
。
答案 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