gpt4 book ai didi

scala - Scala 中的条件编译

转载 作者:行者123 更新时间:2023-12-04 15:36:47 26 4
gpt4 key购买 nike

我正在开发一个依赖于 Scala 2.9 但仅用于次要功能的库。我想提出与2.8兼容的版本,但我不想维护两个代码分支。由于我使用的是 SBT,我想从它的交叉编译功能中受益。

但是我不知道是否有一种方法可以提供等效的条件编译,仅在使用 Scala 2.9 时才包含一段代码。反射性可能是一种选择(但如何?)。

编辑:我在 2.9 中使用的功能是新的 sys包对象。

最佳答案

我通过反射(reflection)得到了它。所以如果我想得到 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")
}

但它太无聊和丑陋了,我想我会放弃那些功能......

关于scala - Scala 中的条件编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6579661/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com