Context
有方法literal(Int)
,literal(String)
等。我如何创建给定名称的文字符号(即'name
)?有一个明显的解决方法:创建Symbol.apply(literal(name))
,但我希望应该有一个直接的方法。在宏中创建文字符号
1
A
回答
1
是q"'sym"
太明显了吗?
c.Expr[Any](q"'mysym")
明显,我的意思是,对不起,如果这显然不是你的意思。
少方便,
c.Expr[Any](c.parse("'asym"))
c.Expr[Any](c.parse(s"'$name"))
也许痛苦,
c.Expr[Any](Apply(c.typeOf[scala.Symbol].typeSymbol, c.literal("mysym").tree))
1
在即将realeased 2.11你就可以只所享有符号成quasiquote得到毫不费力正确的树:
val s: scala.Symbol = 'foo
q"$s" // q"'foo"
这应该工作在2.10与macro paradise plugin以及。
相关问题
- 1. 等号在Apache PDF Box中创建字符PDF创建
- 2. 宏创建宏?
- 3. 如何为R中的图创建符号文本字符串
- 4. 在swift中创建参数化的字符串或宏?
- 5. 创建的字符串或符号键
- 6. 在html中创建字符文本框
- 7. 在intellij中创建宏
- 8. 单引号值来创建宏变量
- 9. 如何从字符串中创建关键字符号?
- 10. 数据描述符用文字符号(对象创建)
- 11. 解析宏中的符号
- 12. &符号在一个C宏
- 13. Clojure:创建一个宏来引用地图的每个符号
- 14. 如何从C宏的值中创建一个字符串?
- 15. 在MATLAB中创建符号矩阵R2009b
- 16. 在乳胶中创建符号列表
- 17. 如何在XAML中创建度符号
- 18. 在Swing中创建符号调色板
- 19. 创建一个索引号字符串
- 20. 创建转换字符串可空号
- 21. 在AHK上创建文本宏系统
- 22. 在VBA宏中使用符号#(散列)
- 23. iOS创建宏
- 24. 创建Excel宏
- 25. 创建文件夹的符号链接
- 26. 在cmake中创建宏脚本并在源文件中调用该宏
- 27. 在字符文字中转义撇号
- 28. RAND_MAX宏:有符号还是无符号?
- 29. 创建后创建的符号链接
- 30. 在printf中使用数字符号的宏
它应该是,但事实并非如此。除了name是一个变量,所以'q“'$ name”'。但是,如果不使用宏观天堂,它看起来如何? –
@AlexeyRomanov我认为已编辑。从QQ回来真的很难。 –