Scala 仅当满足条件时定义设置
关于条件设置的问题。我试图仅在满足特定条件时定义设置:Scala 仅当满足条件时定义设置,scala,sbt,Scala,Sbt,关于条件设置的问题。我试图仅在满足特定条件时定义设置: 惰性val proj=项目 .settings(/*其他设置…*/) .settings((如果(条件)Seq(foo:=bar.value)否则Seq.empty):\u*) 除此之外,如果我能在个人设置的基础上这样做,我的代码看起来会更清晰,例如: project.settings( //其他设置。。。 如果(条件)(foo:=棒值)其他(孔:=零) //其他设置。。。 ) 有没有一种整洁且被接受的方式来实现这一点?什么是“单像
惰性val proj=项目
.settings(/*其他设置…*/)
.settings((如果(条件)Seq(foo:=bar.value)否则Seq.empty):\u*)
除此之外,如果我能在个人设置的基础上这样做,我的代码看起来会更清晰,例如:
project.settings(
//其他设置。。。
如果(条件)(foo:=棒值)其他(孔:=零)
//其他设置。。。
)
有没有一种整洁且被接受的方式来实现这一点?什么是“单像零点”设置的最佳候选设置?您可以使用
。配置
val prj = project.settings(...).configure { p =>
if (foo) {
p.settings(...)
} else p
}
您可以使用。配置
val prj = project.settings(...).configure { p =>
if (foo) {
p.settings(...)
} else p
}
为什么不直接使用settingKey[Option[which]]
?通过设置[Option[\u]]]
我最终分配了一些(…)
或无
。当条件的计算结果为false时,我希望完全避免赋值。奇怪的是,如果您希望访问(有条件地)未定义的设置,您希望它具有哪个值?如果我避免赋值给键,我希望它具有事先指定的任何值。仔细想想,这听起来有点像~=
。啊,好吧,你的意思是更改设置的值,而不是定义新的设置。那么我想你的问题必须相应地重新表述。为什么不直接使用settingKey[Option[which]]
?通过设置[Option[\u]]
我最终分配了一些(…)
或无
。当条件的计算结果为false时,我希望完全避免赋值。奇怪的是,如果您希望访问(有条件地)未定义的设置,您希望它具有哪个值?如果我避免赋值给键,我希望它具有事先指定的任何值。仔细想想,这听起来有点像~=
。啊,好吧,你的意思是更改设置的值,而不是定义新的设置。我想,你的问题必须相应地重新表述。试着把它合并到一个设置序列中试着把它合并到一个设置序列中