Scala中的条件编译
发布时间:2020-12-16 18:49:54 所属栏目:安全 来源:网络整理
导读:我正在开发一个依赖于 Scala 2.9的库,但仅限于一个小功能.我想提出与2.8兼容的版本,但我不想维护两个代码分支.由于我正在使用SBT,我希望从它的交叉编译功能中受益. 但是我不知道有没有办法提供等效的条件编译,只有在使用Scala 2.9时才包含一段代码.反身性可
我正在开发一个依赖于
Scala 2.9的库,但仅限于一个小功能.我想提出与2.8兼容的版本,但我不想维护两个代码分支.由于我正在使用SBT,我希望从它的交叉编译功能中受益.
但是我不知道有没有办法提供等效的条件编译,只有在使用Scala 2.9时才包含一段代码.反身性可能是一种选择(但如何?). 编辑:我在2.9中使用的功能是新的sys包对象. 解决方法
我用反射得到了它.所以,如果我想获得sys.SystemProperties,我可以这样做:
try { val k = java.lang.Class.forName("scala.sys.package$") val m = k.getMethod( "props" ) // etc. } catch { case _ => throw new UnsupportedOperationException("Only available with Scala 2.9") } 但它太无聊和丑陋,我想我会放弃这些功能…… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读