我有下面的代碼獲取參數,如果它是有效的ObjectId,將其轉換爲Option [ObjectId],否則返回None。我怎樣才能簡化這個Scala選項的使用
我在想如何簡化,但沒有發現什麼特別好。
注:params.get( 「desiredImage」)是選項[字符串]
val imageId: Option[ObjectId] = params.get("imageId") match {
case None => None
case Some(x) => {
if (ObjectId.isValid(x)) {
Some(new ObjectId(x))
} else {
None
}
}
}
在更少的精神,你應該能夠在isValid方法傳遞爲'PARAMS .get(「imageId」)filter(ObjectId.isValid)' – Andy
我認爲你的解決方案還需要一張地圖來創建ObjectId –
@IsmaelAbreu - 謝謝,我已經更新了答案。 – Lee