gpt4 book ai didi

scala - 我怎样才能简化这个 Scala 选项的使用

转载 作者:行者123 更新时间:2023-12-02 05:30:27 25 4
gpt4 key购买 nike

我有以下获取参数的代码,如果它是有效的 ObjectId,则将其转换为 Option[ObjectId],否则返回 None。

我在想如何简化它,但没有找到特别好的东西。

注意:params.get("desiredImage") 是Option[String]

val imageId: Option[ObjectId] = params.get("imageId") match {
case None => None
case Some(x) => {
if (ObjectId.isValid(x)) {
Some(new ObjectId(x))
} else {
None
}
}
}

最佳答案

您也可以使用 collect 在单个操作中完成:

val imageId: Option[ObjectId] = params.get("imageId") collect { 
case x if ObjectId.isValid(x) => new ObjectId(x)
}

关于scala - 我怎样才能简化这个 Scala 选项的使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21973479/

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