gpt4 book ai didi

Scala 选项 - 摆脱 if (opt.isDefined) {}

转载 作者:行者123 更新时间:2023-12-03 01:33:52 25 4
gpt4 key购买 nike

我的代码中充斥着以下代码模式:

val opt = somethingReturningAnOpt
if (opt.isDefinedAt) {
val actualThingIWant = opt.get
}

有什么办法可以简化这个吗? (它似乎不必要地复杂并且有代码味道)。理想情况下,它会是这样的:

if (Some(actualThingIWant) = somethingReturningAnOpt) {
doSomethingWith(actualThingIWant)
}

这样的事情可能吗?

最佳答案

也许是这样的:

somethingReturningAnOpt match {
case Some(actualThingIWant) => doSomethingWith(actualThingIWant)
case None =>
}

或者按照 pst 的建议:

somethingReturningAnOpt.foreach { actualThingIWant =>
doSomethingWith(actualThingIWant)
}

// or...

for (actualThingIWant <- somethingReturningAnOpt) {
doSomethingWith(actualThingIWant)
}

关于Scala 选项 - 摆脱 if (opt.isDefined) {},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8427313/

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